Completed the Daily Mission refactoring.

This commit is contained in:
MobiusDev
2016-06-22 17:59:06 +00:00
parent 2f84c5a864
commit e30ee3af6c
24 changed files with 242 additions and 242 deletions

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/OneDayReward.xsd"> <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/DailyMission.xsd">
<reward id="26" reward_id="10" name="Reach Level (Lv. 4)"> <reward id="26" reward_id="10" name="Reach Level (Lv. 4)">
<handler name="level"> <handler name="level">
<param name="level">4</param> <param name="level">4</param>

View File

@@ -0,0 +1,51 @@
/*
* 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 <http://www.gnu.org/licenses/>.
*/
package handlers;
import java.util.logging.Logger;
import com.l2jmobius.gameserver.handler.DailyMissionHandler;
import handlers.dailymissionhandlers.BossDailyMissionHandler;
import handlers.dailymissionhandlers.CeremonyOfChaosDailyMissionHandler;
import handlers.dailymissionhandlers.FishingDailyMissionHandler;
import handlers.dailymissionhandlers.LevelDailyMissionHandler;
import handlers.dailymissionhandlers.OlympiadDailyMissionHandler;
import handlers.dailymissionhandlers.QuestDailyMissionHandler;
import handlers.dailymissionhandlers.SiegeDailyMissionHandler;
/**
* @author UnAfraid
*/
public class DailyMissionMasterHandler
{
private static final Logger LOGGER = Logger.getLogger(DailyMissionMasterHandler.class.getName());
public static void main(String[] args)
{
DailyMissionHandler.getInstance().registerHandler("level", LevelDailyMissionHandler::new);
// DailyMissionHandler.getInstance().registerHandler("loginAllWeek", LoginAllWeekDailyMissionHandler::new);
// DailyMissionHandler.getInstance().registerHandler("loginAllMonth", LoginAllWeekDailyMissionHandler::new);
DailyMissionHandler.getInstance().registerHandler("quest", QuestDailyMissionHandler::new);
DailyMissionHandler.getInstance().registerHandler("olympiad", OlympiadDailyMissionHandler::new);
DailyMissionHandler.getInstance().registerHandler("siege", SiegeDailyMissionHandler::new);
DailyMissionHandler.getInstance().registerHandler("ceremonyofchaos", CeremonyOfChaosDailyMissionHandler::new);
DailyMissionHandler.getInstance().registerHandler("boss", BossDailyMissionHandler::new);
DailyMissionHandler.getInstance().registerHandler("fishing", FishingDailyMissionHandler::new);
LOGGER.info(DailyMissionMasterHandler.class.getSimpleName() + ": Loaded " + DailyMissionHandler.getInstance().size() + " handlers.");
}
}

View File

@@ -1,51 +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 <http://www.gnu.org/licenses/>.
*/
package handlers;
import java.util.logging.Logger;
import com.l2jmobius.gameserver.handler.OneDayRewardHandler;
import handlers.onedayrewardshandlers.BossOneDayRewardHandler;
import handlers.onedayrewardshandlers.CeremonyOfChaosOneDayRewardHandler;
import handlers.onedayrewardshandlers.FishingOneDayRewardHandler;
import handlers.onedayrewardshandlers.LevelOneDayRewardHandler;
import handlers.onedayrewardshandlers.OlympiadOneDayRewardHandler;
import handlers.onedayrewardshandlers.QuestOneDayRewardHandler;
import handlers.onedayrewardshandlers.SiegeOneDayRewardHandler;
/**
* @author UnAfraid
*/
public class OneDayRewardMasterHandler
{
private static final Logger LOGGER = Logger.getLogger(OneDayRewardMasterHandler.class.getName());
public static void main(String[] args)
{
OneDayRewardHandler.getInstance().registerHandler("level", LevelOneDayRewardHandler::new);
// OneDayRewardHandler.getInstance().registerHandler("loginAllWeek", LoginAllWeekOneDayRewardHandler::new);
// OneDayRewardHandler.getInstance().registerHandler("loginAllMonth", LoginAllWeekOneDayRewardHandler::new);
OneDayRewardHandler.getInstance().registerHandler("quest", QuestOneDayRewardHandler::new);
OneDayRewardHandler.getInstance().registerHandler("olympiad", OlympiadOneDayRewardHandler::new);
OneDayRewardHandler.getInstance().registerHandler("siege", SiegeOneDayRewardHandler::new);
OneDayRewardHandler.getInstance().registerHandler("ceremonyofchaos", CeremonyOfChaosOneDayRewardHandler::new);
OneDayRewardHandler.getInstance().registerHandler("boss", BossOneDayRewardHandler::new);
OneDayRewardHandler.getInstance().registerHandler("fishing", FishingOneDayRewardHandler::new);
LOGGER.info(OneDayRewardMasterHandler.class.getSimpleName() + ": Loaded " + OneDayRewardHandler.getInstance().size() + " handlers.");
}
}

View File

@@ -14,17 +14,17 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package handlers.onedayrewardshandlers; package handlers.dailymissionhandlers;
import java.util.List; import java.util.List;
import com.l2jmobius.Config; import com.l2jmobius.Config;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.L2CommandChannel; import com.l2jmobius.gameserver.model.L2CommandChannel;
import com.l2jmobius.gameserver.model.L2Party; import com.l2jmobius.gameserver.model.L2Party;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Attackable;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.Containers; import com.l2jmobius.gameserver.model.events.Containers;
@@ -35,11 +35,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler public class BossDailyMissionHandler extends AbstractDailyMissionHandler
{ {
private final int _amount; private final int _amount;
public BossOneDayRewardHandler(OneDayRewardDataHolder holder) public BossDailyMissionHandler(DailyMissionDataHolder holder)
{ {
super(holder); super(holder);
_amount = holder.getRequiredCompletions(); _amount = holder.getRequiredCompletions();
@@ -54,7 +54,7 @@ public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler
@Override @Override
public boolean isAvailable(L2PcInstance player) public boolean isAvailable(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
if (entry != null) if (entry != null)
{ {
switch (entry.getStatus()) switch (entry.getStatus())
@@ -63,7 +63,7 @@ public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler
{ {
if (entry.getProgress() >= _amount) if (entry.getProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
} }
break; break;
@@ -99,12 +99,12 @@ public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler
private void processPlayerProgress(L2PcInstance player) private void processPlayerProgress(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE) if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
{ {
if (entry.increaseProgress() >= _amount) if (entry.increaseProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
} }
storePlayerEntry(entry); storePlayerEntry(entry);
} }

View File

@@ -14,12 +14,12 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package handlers.onedayrewardshandlers; package handlers.dailymissionhandlers;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry; import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.Containers; import com.l2jmobius.gameserver.model.events.Containers;
import com.l2jmobius.gameserver.model.events.EventType; import com.l2jmobius.gameserver.model.events.EventType;
@@ -29,11 +29,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHandler public class CeremonyOfChaosDailyMissionHandler extends AbstractDailyMissionHandler
{ {
private final int _amount; private final int _amount;
public CeremonyOfChaosOneDayRewardHandler(OneDayRewardDataHolder holder) public CeremonyOfChaosDailyMissionHandler(DailyMissionDataHolder holder)
{ {
super(holder); super(holder);
_amount = holder.getRequiredCompletions(); _amount = holder.getRequiredCompletions();
@@ -48,7 +48,7 @@ public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHand
@Override @Override
public boolean isAvailable(L2PcInstance player) public boolean isAvailable(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
if (entry != null) if (entry != null)
{ {
switch (entry.getStatus()) switch (entry.getStatus())
@@ -57,7 +57,7 @@ public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHand
{ {
if (entry.getProgress() >= _amount) if (entry.getProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
} }
break; break;
@@ -75,12 +75,12 @@ public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHand
{ {
event.getMembers().forEach(member -> event.getMembers().forEach(member ->
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(member.getObjectId(), true); final DailyMissionPlayerEntry entry = getPlayerEntry(member.getObjectId(), true);
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE) if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
{ {
if (entry.increaseProgress() >= _amount) if (entry.increaseProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
} }
storePlayerEntry(entry); storePlayerEntry(entry);
} }

View File

@@ -14,12 +14,12 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package handlers.onedayrewardshandlers; package handlers.dailymissionhandlers;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry; import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.Containers; import com.l2jmobius.gameserver.model.events.Containers;
import com.l2jmobius.gameserver.model.events.EventType; import com.l2jmobius.gameserver.model.events.EventType;
@@ -30,11 +30,11 @@ import com.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler public class FishingDailyMissionHandler extends AbstractDailyMissionHandler
{ {
private final int _amount; private final int _amount;
public FishingOneDayRewardHandler(OneDayRewardDataHolder holder) public FishingDailyMissionHandler(DailyMissionDataHolder holder)
{ {
super(holder); super(holder);
_amount = holder.getRequiredCompletions(); _amount = holder.getRequiredCompletions();
@@ -49,7 +49,7 @@ public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler
@Override @Override
public boolean isAvailable(L2PcInstance player) public boolean isAvailable(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
if (entry != null) if (entry != null)
{ {
switch (entry.getStatus()) switch (entry.getStatus())
@@ -58,7 +58,7 @@ public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler
{ {
if (entry.getProgress() >= _amount) if (entry.getProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
} }
break; break;
@@ -77,12 +77,12 @@ public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if (event.getReason() == FishingEndReason.WIN) if (event.getReason() == FishingEndReason.WIN)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE) if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
{ {
if (entry.increaseProgress() >= _amount) if (entry.increaseProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
} }
storePlayerEntry(entry); storePlayerEntry(entry);
} }

View File

@@ -14,12 +14,12 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package handlers.onedayrewardshandlers; package handlers.dailymissionhandlers;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry; import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.Containers; import com.l2jmobius.gameserver.model.events.Containers;
import com.l2jmobius.gameserver.model.events.EventType; import com.l2jmobius.gameserver.model.events.EventType;
@@ -29,12 +29,12 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
/** /**
* @author Sdw * @author Sdw
*/ */
public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler public class LevelDailyMissionHandler extends AbstractDailyMissionHandler
{ {
private final int _level; private final int _level;
private final boolean _dualclass; private final boolean _dualclass;
public LevelOneDayRewardHandler(OneDayRewardDataHolder holder) public LevelDailyMissionHandler(DailyMissionDataHolder holder)
{ {
super(holder); super(holder);
_level = holder.getParams().getInt("level"); _level = holder.getParams().getInt("level");
@@ -50,7 +50,7 @@ public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler
@Override @Override
public boolean isAvailable(L2PcInstance player) public boolean isAvailable(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
if (entry != null) if (entry != null)
{ {
switch (entry.getStatus()) switch (entry.getStatus())
@@ -59,7 +59,7 @@ public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler
{ {
if ((player.getLevel() >= _level) && (player.isDualClassActive() == _dualclass)) if ((player.getLevel() >= _level) && (player.isDualClassActive() == _dualclass))
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
} }
break; break;
@@ -84,10 +84,10 @@ public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= _level) && (player.isDualClassActive() == _dualclass)) if ((player.getLevel() >= _level) && (player.isDualClassActive() == _dualclass))
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE) if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
} }
} }

View File

@@ -14,12 +14,12 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package handlers.onedayrewardshandlers; package handlers.dailymissionhandlers;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry; import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.Containers; import com.l2jmobius.gameserver.model.events.Containers;
import com.l2jmobius.gameserver.model.events.EventType; import com.l2jmobius.gameserver.model.events.EventType;
@@ -29,11 +29,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler
{ {
private final int _amount; private final int _amount;
public OlympiadOneDayRewardHandler(OneDayRewardDataHolder holder) public OlympiadDailyMissionHandler(DailyMissionDataHolder holder)
{ {
super(holder); super(holder);
_amount = holder.getRequiredCompletions(); _amount = holder.getRequiredCompletions();
@@ -48,7 +48,7 @@ public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler
@Override @Override
public boolean isAvailable(L2PcInstance player) public boolean isAvailable(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
if (entry != null) if (entry != null)
{ {
switch (entry.getStatus()) switch (entry.getStatus())
@@ -57,7 +57,7 @@ public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler
{ {
if (entry.getProgress() >= _amount) if (entry.getProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
} }
break; break;
@@ -73,22 +73,22 @@ public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler
private void onOlympiadMatchResult(OnOlympiadMatchResult event) private void onOlympiadMatchResult(OnOlympiadMatchResult event)
{ {
final OneDayRewardPlayerEntry winnerEntry = getPlayerEntry(event.getWinner().getObjectId(), true); final DailyMissionPlayerEntry winnerEntry = getPlayerEntry(event.getWinner().getObjectId(), true);
if (winnerEntry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE) if (winnerEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
{ {
if (winnerEntry.increaseProgress() >= _amount) if (winnerEntry.increaseProgress() >= _amount)
{ {
winnerEntry.setStatus(OneDayRewardStatus.AVAILABLE); winnerEntry.setStatus(DailyMissionStatus.AVAILABLE);
} }
storePlayerEntry(winnerEntry); storePlayerEntry(winnerEntry);
} }
final OneDayRewardPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true); final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true);
if (loseEntry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE) if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
{ {
if (loseEntry.increaseProgress() >= _amount) if (loseEntry.increaseProgress() >= _amount)
{ {
loseEntry.setStatus(OneDayRewardStatus.AVAILABLE); loseEntry.setStatus(DailyMissionStatus.AVAILABLE);
} }
storePlayerEntry(loseEntry); storePlayerEntry(loseEntry);
} }

View File

@@ -14,13 +14,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package handlers.onedayrewardshandlers; package handlers.dailymissionhandlers;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.enums.QuestType; import com.l2jmobius.gameserver.enums.QuestType;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry; import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.Containers; import com.l2jmobius.gameserver.model.events.Containers;
import com.l2jmobius.gameserver.model.events.EventType; import com.l2jmobius.gameserver.model.events.EventType;
@@ -30,11 +30,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler public class QuestDailyMissionHandler extends AbstractDailyMissionHandler
{ {
private final int _amount; private final int _amount;
public QuestOneDayRewardHandler(OneDayRewardDataHolder holder) public QuestDailyMissionHandler(DailyMissionDataHolder holder)
{ {
super(holder); super(holder);
_amount = holder.getRequiredCompletions(); _amount = holder.getRequiredCompletions();
@@ -49,7 +49,7 @@ public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler
@Override @Override
public boolean isAvailable(L2PcInstance player) public boolean isAvailable(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
if (entry != null) if (entry != null)
{ {
switch (entry.getStatus()) switch (entry.getStatus())
@@ -58,7 +58,7 @@ public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler
{ {
if (entry.getProgress() >= _amount) if (entry.getProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
} }
break; break;
@@ -77,12 +77,12 @@ public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler
final L2PcInstance player = event.getActiveChar(); final L2PcInstance player = event.getActiveChar();
if (event.getQuestType() == QuestType.DAILY) if (event.getQuestType() == QuestType.DAILY)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE) if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
{ {
if (entry.increaseProgress() >= _amount) if (entry.increaseProgress() >= _amount)
{ {
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
} }
storePlayerEntry(entry); storePlayerEntry(entry);
} }

View File

@@ -14,15 +14,15 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package handlers.onedayrewardshandlers; package handlers.dailymissionhandlers;
import com.l2jmobius.gameserver.data.sql.impl.ClanTable; import com.l2jmobius.gameserver.data.sql.impl.ClanTable;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.L2Clan; import com.l2jmobius.gameserver.model.L2Clan;
import com.l2jmobius.gameserver.model.L2SiegeClan; import com.l2jmobius.gameserver.model.L2SiegeClan;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.Containers; import com.l2jmobius.gameserver.model.events.Containers;
import com.l2jmobius.gameserver.model.events.EventType; import com.l2jmobius.gameserver.model.events.EventType;
@@ -32,9 +32,9 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public class SiegeOneDayRewardHandler extends AbstractOneDayRewardHandler public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler
{ {
public SiegeOneDayRewardHandler(OneDayRewardDataHolder holder) public SiegeDailyMissionHandler(DailyMissionDataHolder holder)
{ {
super(holder); super(holder);
} }
@@ -48,7 +48,7 @@ public class SiegeOneDayRewardHandler extends AbstractOneDayRewardHandler
@Override @Override
public boolean isAvailable(L2PcInstance player) public boolean isAvailable(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
if (entry != null) if (entry != null)
{ {
switch (entry.getStatus()) switch (entry.getStatus())
@@ -75,8 +75,8 @@ public class SiegeOneDayRewardHandler extends AbstractOneDayRewardHandler
{ {
clan.getOnlineMembers(0).forEach(player -> clan.getOnlineMembers(0).forEach(player ->
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
entry.setStatus(OneDayRewardStatus.AVAILABLE); entry.setStatus(DailyMissionStatus.AVAILABLE);
storePlayerEntry(entry); storePlayerEntry(entry);
}); });
} }

View File

@@ -53,6 +53,7 @@ import com.l2jmobius.gameserver.data.xml.impl.ClanHallData;
import com.l2jmobius.gameserver.data.xml.impl.ClanRewardData; import com.l2jmobius.gameserver.data.xml.impl.ClanRewardData;
import com.l2jmobius.gameserver.data.xml.impl.ClassListData; import com.l2jmobius.gameserver.data.xml.impl.ClassListData;
import com.l2jmobius.gameserver.data.xml.impl.CubicData; import com.l2jmobius.gameserver.data.xml.impl.CubicData;
import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
import com.l2jmobius.gameserver.data.xml.impl.DoorData; import com.l2jmobius.gameserver.data.xml.impl.DoorData;
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData; import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemGroupsData; import com.l2jmobius.gameserver.data.xml.impl.EnchantItemGroupsData;
@@ -73,7 +74,6 @@ import com.l2jmobius.gameserver.data.xml.impl.KarmaData;
import com.l2jmobius.gameserver.data.xml.impl.LuckyGameData; import com.l2jmobius.gameserver.data.xml.impl.LuckyGameData;
import com.l2jmobius.gameserver.data.xml.impl.MultisellData; import com.l2jmobius.gameserver.data.xml.impl.MultisellData;
import com.l2jmobius.gameserver.data.xml.impl.NpcData; import com.l2jmobius.gameserver.data.xml.impl.NpcData;
import com.l2jmobius.gameserver.data.xml.impl.OneDayRewardData;
import com.l2jmobius.gameserver.data.xml.impl.OptionData; import com.l2jmobius.gameserver.data.xml.impl.OptionData;
import com.l2jmobius.gameserver.data.xml.impl.PetDataTable; import com.l2jmobius.gameserver.data.xml.impl.PetDataTable;
import com.l2jmobius.gameserver.data.xml.impl.PlayerTemplateData; import com.l2jmobius.gameserver.data.xml.impl.PlayerTemplateData;
@@ -100,8 +100,8 @@ import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.datatables.MerchantPriceConfigTable; import com.l2jmobius.gameserver.datatables.MerchantPriceConfigTable;
import com.l2jmobius.gameserver.datatables.SpawnTable; import com.l2jmobius.gameserver.datatables.SpawnTable;
import com.l2jmobius.gameserver.handler.ConditionHandler; import com.l2jmobius.gameserver.handler.ConditionHandler;
import com.l2jmobius.gameserver.handler.DailyMissionHandler;
import com.l2jmobius.gameserver.handler.EffectHandler; import com.l2jmobius.gameserver.handler.EffectHandler;
import com.l2jmobius.gameserver.handler.OneDayRewardHandler;
import com.l2jmobius.gameserver.handler.SkillConditionHandler; import com.l2jmobius.gameserver.handler.SkillConditionHandler;
import com.l2jmobius.gameserver.idfactory.IdFactory; import com.l2jmobius.gameserver.idfactory.IdFactory;
import com.l2jmobius.gameserver.instancemanager.AirShipManager; import com.l2jmobius.gameserver.instancemanager.AirShipManager;
@@ -210,8 +210,8 @@ public class GameServer
AbilityPointsData.getInstance(); AbilityPointsData.getInstance();
SayuneData.getInstance(); SayuneData.getInstance();
ClanRewardData.getInstance(); ClanRewardData.getInstance();
OneDayRewardHandler.getInstance().executeScript(); DailyMissionHandler.getInstance().executeScript();
OneDayRewardData.getInstance(); DailyMissionData.getInstance();
printSection("Skills"); printSection("Skills");
SkillConditionHandler.getInstance().executeScript(); SkillConditionHandler.getInstance().executeScript();

View File

@@ -28,7 +28,7 @@ import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import com.l2jmobius.commons.util.IGameXmlReader; import com.l2jmobius.commons.util.IGameXmlReader;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId; import com.l2jmobius.gameserver.model.base.ClassId;
@@ -37,12 +37,12 @@ import com.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw
*/ */
public class OneDayRewardData implements IGameXmlReader public class DailyMissionData implements IGameXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(OneDayRewardData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<OneDayRewardDataHolder>> _oneDayReward = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
protected OneDayRewardData() protected DailyMissionData()
{ {
load(); load();
} }
@@ -50,9 +50,9 @@ public class OneDayRewardData implements IGameXmlReader
@Override @Override
public void load() public void load()
{ {
_oneDayReward.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/OneDayReward.xml"); parseDatapackFile("data/DailyMission.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _oneDayReward.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@Override @Override
@@ -93,25 +93,25 @@ public class OneDayRewardData implements IGameXmlReader
forEach(handlerNode, "param", paramNode -> params.set(parseString(paramNode.getAttributes(), "name"), paramNode.getTextContent())); forEach(handlerNode, "param", paramNode -> params.set(parseString(paramNode.getAttributes(), "name"), paramNode.getTextContent()));
}); });
final OneDayRewardDataHolder holder = new OneDayRewardDataHolder(set); final DailyMissionDataHolder holder = new DailyMissionDataHolder(set);
_oneDayReward.computeIfAbsent(holder.getId(), k -> new ArrayList<>()).add(holder); _dailyMissionRewards.computeIfAbsent(holder.getId(), k -> new ArrayList<>()).add(holder);
})); }));
} }
public Collection<OneDayRewardDataHolder> getOneDayRewardData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off //@formatter:off
return _oneDayReward.values() return _dailyMissionRewards.values()
.stream() .stream()
.flatMap(List::stream) .flatMap(List::stream)
.collect(Collectors.toList()); .collect(Collectors.toList());
//@formatter:on //@formatter:on
} }
public Collection<OneDayRewardDataHolder> getOneDayRewardData(L2PcInstance player) public Collection<DailyMissionDataHolder> getDailyMissionData(L2PcInstance player)
{ {
//@formatter:off //@formatter:off
return _oneDayReward.values() return _dailyMissionRewards.values()
.stream() .stream()
.flatMap(List::stream) .flatMap(List::stream)
.filter(o -> o.isDisplayable(player)) .filter(o -> o.isDisplayable(player))
@@ -119,22 +119,22 @@ public class OneDayRewardData implements IGameXmlReader
//@formatter:on //@formatter:on
} }
public Collection<OneDayRewardDataHolder> getOneDayRewardData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)
{ {
return _oneDayReward.get(id); return _dailyMissionRewards.get(id);
} }
/** /**
* Gets the single instance of OneDayRewardData. * Gets the single instance of DailyMissionData.
* @return single instance of OneDayRewardData * @return single instance of DailyMissionData
*/ */
public static final OneDayRewardData getInstance() public static final DailyMissionData getInstance()
{ {
return SingletonHolder._instance; return SingletonHolder._instance;
} }
private static class SingletonHolder private static class SingletonHolder
{ {
protected static final OneDayRewardData _instance = new OneDayRewardData(); protected static final DailyMissionData _instance = new DailyMissionData();
} }
} }

View File

@@ -19,7 +19,7 @@ package com.l2jmobius.gameserver.enums;
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public enum OneDayRewardStatus public enum DailyMissionStatus
{ {
AVAILABLE(1), AVAILABLE(1),
NOT_AVAILABLE(2), NOT_AVAILABLE(2),
@@ -27,7 +27,7 @@ public enum OneDayRewardStatus
private int _clientId; private int _clientId;
private OneDayRewardStatus(int clientId) private DailyMissionStatus(int clientId)
{ {
_clientId = clientId; _clientId = clientId;
} }
@@ -37,9 +37,9 @@ public enum OneDayRewardStatus
return _clientId; return _clientId;
} }
public static OneDayRewardStatus valueOf(int clientId) public static DailyMissionStatus valueOf(int clientId)
{ {
for (OneDayRewardStatus type : values()) for (DailyMissionStatus type : values())
{ {
if (type.getClientId() == clientId) if (type.getClientId() == clientId)
{ {

View File

@@ -26,29 +26,29 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.commons.database.DatabaseFactory;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry; import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.ListenersContainer; import com.l2jmobius.gameserver.model.events.ListenersContainer;
/** /**
* @author Sdw * @author Sdw
*/ */
public abstract class AbstractOneDayRewardHandler extends ListenersContainer public abstract class AbstractDailyMissionHandler extends ListenersContainer
{ {
protected Logger LOGGER = Logger.getLogger(getClass().getName()); protected Logger LOGGER = Logger.getLogger(getClass().getName());
private final Map<Integer, OneDayRewardPlayerEntry> _entries = new ConcurrentHashMap<>(); private final Map<Integer, DailyMissionPlayerEntry> _entries = new ConcurrentHashMap<>();
private final OneDayRewardDataHolder _holder; private final DailyMissionDataHolder _holder;
protected AbstractOneDayRewardHandler(OneDayRewardDataHolder holder) protected AbstractDailyMissionHandler(DailyMissionDataHolder holder)
{ {
_holder = holder; _holder = holder;
init(); init();
} }
public OneDayRewardDataHolder getHolder() public DailyMissionDataHolder getHolder()
{ {
return _holder; return _holder;
} }
@@ -59,13 +59,13 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
public int getStatus(L2PcInstance player) public int getStatus(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
return entry != null ? entry.getStatus().getClientId() : OneDayRewardStatus.NOT_AVAILABLE.getClientId(); return entry != null ? entry.getStatus().getClientId() : DailyMissionStatus.NOT_AVAILABLE.getClientId();
} }
public int getProgress(L2PcInstance player) public int getProgress(L2PcInstance player)
{ {
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
return entry != null ? entry.getProgress() : 0; return entry != null ? entry.getProgress() : 0;
} }
@@ -75,7 +75,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
PreparedStatement ps = con.prepareStatement("DELETE FROM character_daily_rewards WHERE rewardId = ? AND status = ?")) PreparedStatement ps = con.prepareStatement("DELETE FROM character_daily_rewards WHERE rewardId = ? AND status = ?"))
{ {
ps.setInt(1, _holder.getId()); ps.setInt(1, _holder.getId());
ps.setInt(2, OneDayRewardStatus.COMPLETED.getClientId()); ps.setInt(2, DailyMissionStatus.COMPLETED.getClientId());
ps.execute(); ps.execute();
} }
catch (SQLException e) catch (SQLException e)
@@ -94,8 +94,8 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
{ {
giveRewards(player); giveRewards(player);
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true); final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
entry.setStatus(OneDayRewardStatus.COMPLETED); entry.setStatus(DailyMissionStatus.COMPLETED);
entry.setLastCompleted(System.currentTimeMillis()); entry.setLastCompleted(System.currentTimeMillis());
storePlayerEntry(entry); storePlayerEntry(entry);
@@ -109,7 +109,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
_holder.getRewards().forEach(i -> player.addItem("One Day Reward", i, player, true)); _holder.getRewards().forEach(i -> player.addItem("One Day Reward", i, player, true));
} }
protected void storePlayerEntry(OneDayRewardPlayerEntry entry) protected void storePlayerEntry(DailyMissionPlayerEntry entry)
{ {
try (Connection con = DatabaseFactory.getInstance().getConnection(); try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("REPLACE INTO character_daily_rewards (charId, rewardId, status, progress, lastCompleted) VALUES (?, ?, ?, ?, ?)")) PreparedStatement ps = con.prepareStatement("REPLACE INTO character_daily_rewards (charId, rewardId, status, progress, lastCompleted) VALUES (?, ?, ?, ?, ?)"))
@@ -130,9 +130,9 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
} }
} }
protected OneDayRewardPlayerEntry getPlayerEntry(int objectId, boolean createIfNone) protected DailyMissionPlayerEntry getPlayerEntry(int objectId, boolean createIfNone)
{ {
final OneDayRewardPlayerEntry existingEntry = _entries.get(objectId); final DailyMissionPlayerEntry existingEntry = _entries.get(objectId);
if (existingEntry != null) if (existingEntry != null)
{ {
return existingEntry; return existingEntry;
@@ -147,7 +147,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
{ {
if (rs.next()) if (rs.next())
{ {
final OneDayRewardPlayerEntry entry = new OneDayRewardPlayerEntry(rs.getInt("charId"), rs.getInt("rewardId"), rs.getInt("status"), rs.getInt("progress"), rs.getLong("lastCompleted")); final DailyMissionPlayerEntry entry = new DailyMissionPlayerEntry(rs.getInt("charId"), rs.getInt("rewardId"), rs.getInt("status"), rs.getInt("progress"), rs.getLong("lastCompleted"));
_entries.put(objectId, entry); _entries.put(objectId, entry);
} }
} }
@@ -159,7 +159,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
if (createIfNone) if (createIfNone)
{ {
final OneDayRewardPlayerEntry entry = new OneDayRewardPlayerEntry(objectId, _holder.getId()); final DailyMissionPlayerEntry entry = new DailyMissionPlayerEntry(objectId, _holder.getId());
_entries.put(objectId, entry); _entries.put(objectId, entry);
return entry; return entry;
} }

View File

@@ -20,22 +20,22 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.scripting.ScriptEngineManager; import com.l2jmobius.gameserver.scripting.ScriptEngineManager;
/** /**
* @author Sdw * @author Sdw
*/ */
public class OneDayRewardHandler public class DailyMissionHandler
{ {
private final Map<String, Function<OneDayRewardDataHolder, AbstractOneDayRewardHandler>> _handlerFactories = new HashMap<>(); private final Map<String, Function<DailyMissionDataHolder, AbstractDailyMissionHandler>> _handlerFactories = new HashMap<>();
public void registerHandler(String name, Function<OneDayRewardDataHolder, AbstractOneDayRewardHandler> handlerFactory) public void registerHandler(String name, Function<DailyMissionDataHolder, AbstractDailyMissionHandler> handlerFactory)
{ {
_handlerFactories.put(name, handlerFactory); _handlerFactories.put(name, handlerFactory);
} }
public Function<OneDayRewardDataHolder, AbstractOneDayRewardHandler> getHandler(String name) public Function<DailyMissionDataHolder, AbstractDailyMissionHandler> getHandler(String name)
{ {
return _handlerFactories.get(name); return _handlerFactories.get(name);
} }
@@ -50,21 +50,21 @@ public class OneDayRewardHandler
try try
{ {
ScriptEngineManager.getInstance().executeOneDayRewardMasterHandler(); ScriptEngineManager.getInstance().executeDailyMissionMasterHandler();
} }
catch (Exception e) catch (Exception e)
{ {
throw new Error("Problems while running OneDayRewardMasterHandler", e); throw new Error("Problems while running DailyMissionMasterHandler", e);
} }
} }
public static OneDayRewardHandler getInstance() public static DailyMissionHandler getInstance()
{ {
return SingletonHolder._instance; return SingletonHolder._instance;
} }
private static class SingletonHolder private static class SingletonHolder
{ {
protected static final OneDayRewardHandler _instance = new OneDayRewardHandler(); protected static final DailyMissionHandler _instance = new DailyMissionHandler();
} }
} }

View File

@@ -26,11 +26,11 @@ import java.util.logging.Logger;
import com.l2jmobius.Config; import com.l2jmobius.Config;
import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.commons.database.DatabaseFactory;
import com.l2jmobius.gameserver.data.sql.impl.ClanTable; import com.l2jmobius.gameserver.data.sql.impl.ClanTable;
import com.l2jmobius.gameserver.data.xml.impl.OneDayRewardData; import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.L2Clan; import com.l2jmobius.gameserver.model.L2Clan;
import com.l2jmobius.gameserver.model.L2ClanMember; import com.l2jmobius.gameserver.model.L2ClanMember;
import com.l2jmobius.gameserver.model.L2World; import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.stat.PcStat; import com.l2jmobius.gameserver.model.actor.stat.PcStat;
import com.l2jmobius.gameserver.model.base.SubClass; import com.l2jmobius.gameserver.model.base.SubClass;
@@ -64,10 +64,10 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
{ {
resetClanBonus(); resetClanBonus();
resetExtendDrop(); resetExtendDrop();
resetDailyMissionRewards();
resetDailySkills(); resetDailySkills();
resetWorldChatPoints();
resetOneDayReward();
resetRecommends(); resetRecommends();
resetWorldChatPoints();
} }
@ScheduleTarget @ScheduleTarget
@@ -242,9 +242,9 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
}); });
} }
private void resetOneDayReward() private void resetDailyMissionRewards()
{ {
OneDayRewardData.getInstance().getOneDayRewardData().forEach(OneDayRewardDataHolder::reset); DailyMissionData.getInstance().getDailyMissionData().forEach(DailyMissionDataHolder::reset);
} }
public static DailyTaskManager getInstance() public static DailyTaskManager getInstance()

View File

@@ -19,9 +19,9 @@ package com.l2jmobius.gameserver.model;
import java.util.List; import java.util.List;
import java.util.function.Function; import java.util.function.Function;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler; import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
import com.l2jmobius.gameserver.handler.OneDayRewardHandler; import com.l2jmobius.gameserver.handler.DailyMissionHandler;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId; import com.l2jmobius.gameserver.model.base.ClassId;
import com.l2jmobius.gameserver.model.holders.ItemHolder; import com.l2jmobius.gameserver.model.holders.ItemHolder;
@@ -29,7 +29,7 @@ import com.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw
*/ */
public class OneDayRewardDataHolder public class DailyMissionDataHolder
{ {
private final int _id; private final int _id;
private final int _rewardId; private final int _rewardId;
@@ -38,11 +38,11 @@ public class OneDayRewardDataHolder
private final int _requiredCompletions; private final int _requiredCompletions;
private final StatsSet _params; private final StatsSet _params;
private final boolean _isOneTime; private final boolean _isOneTime;
private final AbstractOneDayRewardHandler _handler; private final AbstractDailyMissionHandler _handler;
public OneDayRewardDataHolder(StatsSet set) public DailyMissionDataHolder(StatsSet set)
{ {
final Function<OneDayRewardDataHolder, AbstractOneDayRewardHandler> handler = OneDayRewardHandler.getInstance().getHandler(set.getString("handler")); final Function<DailyMissionDataHolder, AbstractDailyMissionHandler> handler = DailyMissionHandler.getInstance().getHandler(set.getString("handler"));
_id = set.getInt("id"); _id = set.getInt("id");
_rewardId = set.getInt("reward_id"); _rewardId = set.getInt("reward_id");
@@ -91,7 +91,7 @@ public class OneDayRewardDataHolder
public boolean isDisplayable(L2PcInstance player) public boolean isDisplayable(L2PcInstance player)
{ {
return (!_isOneTime || (getStatus(player) != OneDayRewardStatus.COMPLETED.getClientId())) && (_classRestriction.isEmpty() || _classRestriction.contains(player.getClassId())); return (!_isOneTime || (getStatus(player) != DailyMissionStatus.COMPLETED.getClientId())) && (_classRestriction.isEmpty() || _classRestriction.contains(player.getClassId()));
} }
public void requestReward(L2PcInstance player) public void requestReward(L2PcInstance player)
@@ -104,12 +104,12 @@ public class OneDayRewardDataHolder
public int getStatus(L2PcInstance player) public int getStatus(L2PcInstance player)
{ {
return _handler != null ? _handler.getStatus(player) : OneDayRewardStatus.NOT_AVAILABLE.getClientId(); return _handler != null ? _handler.getStatus(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId();
} }
public int getProgress(L2PcInstance player) public int getProgress(L2PcInstance player)
{ {
return _handler != null ? _handler.getProgress(player) : OneDayRewardStatus.NOT_AVAILABLE.getClientId(); return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId();
} }
public void reset() public void reset()

View File

@@ -16,29 +16,29 @@
*/ */
package com.l2jmobius.gameserver.model; package com.l2jmobius.gameserver.model;
import com.l2jmobius.gameserver.enums.OneDayRewardStatus; import com.l2jmobius.gameserver.enums.DailyMissionStatus;
/** /**
* @author UnAfraid * @author UnAfraid
*/ */
public class OneDayRewardPlayerEntry public class DailyMissionPlayerEntry
{ {
private final int _objectId; private final int _objectId;
private final int _rewardId; private final int _rewardId;
private OneDayRewardStatus _status = OneDayRewardStatus.NOT_AVAILABLE; private DailyMissionStatus _status = DailyMissionStatus.NOT_AVAILABLE;
private int _progress; private int _progress;
private long _lastCompleted; private long _lastCompleted;
public OneDayRewardPlayerEntry(int objectId, int rewardId) public DailyMissionPlayerEntry(int objectId, int rewardId)
{ {
_objectId = objectId; _objectId = objectId;
_rewardId = rewardId; _rewardId = rewardId;
} }
public OneDayRewardPlayerEntry(int objectId, int rewardId, int status, int progress, long lastCompleted) public DailyMissionPlayerEntry(int objectId, int rewardId, int status, int progress, long lastCompleted)
{ {
this(objectId, rewardId); this(objectId, rewardId);
_status = OneDayRewardStatus.valueOf(status); _status = DailyMissionStatus.valueOf(status);
_progress = progress; _progress = progress;
_lastCompleted = lastCompleted; _lastCompleted = lastCompleted;
} }
@@ -53,12 +53,12 @@ public class OneDayRewardPlayerEntry
return _rewardId; return _rewardId;
} }
public OneDayRewardStatus getStatus() public DailyMissionStatus getStatus()
{ {
return _status; return _status;
} }
public void setStatus(OneDayRewardStatus status) public void setStatus(DailyMissionStatus status)
{ {
_status = status; _status = status;
} }

View File

@@ -16,7 +16,7 @@
*/ */
package com.l2jmobius.gameserver.model.conditions; package com.l2jmobius.gameserver.model.conditions;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.L2Item; import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.model.skills.Skill;
@@ -115,7 +115,7 @@ public abstract class Condition implements ConditionListener
return test(caster, target, null, null); return test(caster, target, null, null);
} }
public final boolean test(L2Character caster, OneDayRewardDataHolder onewayreward) public final boolean test(L2Character caster, DailyMissionDataHolder onewayreward)
{ {
return test(caster, null, null, null); return test(caster, null, null, null);
} }

View File

@@ -48,7 +48,7 @@ public class PlayerVariables extends AbstractVariables
public static final String HAIR_ACCESSORY_VARIABLE_NAME = "HAIR_ACCESSORY_ENABLED"; public static final String HAIR_ACCESSORY_VARIABLE_NAME = "HAIR_ACCESSORY_ENABLED";
public static final String WORLD_CHAT_VARIABLE_NAME = "WORLD_CHAT_POINTS"; public static final String WORLD_CHAT_VARIABLE_NAME = "WORLD_CHAT_POINTS";
public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED"; public static final String VITALITY_ITEMS_USED_VARIABLE_NAME = "VITALITY_ITEMS_USED";
private static final String ONE_DAY_REWARDS = "ONE_DAY_REWARDS"; private static final String DAILY_MISSION_REWARDS = "DAILY_MISSION_REWARDS";
public static final String CEREMONY_OF_CHAOS_PROHIBITED_PENALTIES = "CEREMONY_OF_CHAOS_PENALTIES"; public static final String CEREMONY_OF_CHAOS_PROHIBITED_PENALTIES = "CEREMONY_OF_CHAOS_PENALTIES";
public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS"; public static final String ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS";
public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS"; public static final String ABILITY_POINTS_DUAL_CLASS = "ABILITY_POINTS_DUAL_CLASS";
@@ -163,9 +163,9 @@ public class PlayerVariables extends AbstractVariables
return L2World.getInstance().getPlayer(_objectId); return L2World.getInstance().getPlayer(_objectId);
} }
public void addOneDayReward(int rewardId) public void addDailyMissionReward(int rewardId)
{ {
String result = getString(ONE_DAY_REWARDS, ""); String result = getString(DAILY_MISSION_REWARDS, "");
if (result.isEmpty()) if (result.isEmpty())
{ {
result = Integer.toString(rewardId); result = Integer.toString(rewardId);
@@ -174,13 +174,13 @@ public class PlayerVariables extends AbstractVariables
{ {
result += "," + rewardId; result += "," + rewardId;
} }
set(ONE_DAY_REWARDS, result); set(DAILY_MISSION_REWARDS, result);
} }
public void removeOneDayReward(int rewardId) public void removeDailyMissionReward(int rewardId)
{ {
String result = ""; String result = "";
final String data = getString(ONE_DAY_REWARDS, ""); final String data = getString(DAILY_MISSION_REWARDS, "");
for (String s : data.split(",")) for (String s : data.split(","))
{ {
if (s.equals(Integer.toString(rewardId))) if (s.equals(Integer.toString(rewardId)))
@@ -196,12 +196,12 @@ public class PlayerVariables extends AbstractVariables
result += "," + s; result += "," + s;
} }
} }
set(ONE_DAY_REWARDS, result); set(DAILY_MISSION_REWARDS, result);
} }
public boolean hasOneDayReward(int rewardId) public boolean hasDailyMissionReward(int rewardId)
{ {
final String data = getString(ONE_DAY_REWARDS, ""); final String data = getString(DAILY_MISSION_REWARDS, "");
for (String s : data.split(",")) for (String s : data.split(","))
{ {
if (s.equals(Integer.toString(rewardId))) if (s.equals(Integer.toString(rewardId)))
@@ -212,13 +212,13 @@ public class PlayerVariables extends AbstractVariables
return false; return false;
} }
public List<Integer> getOneDayRewards() public List<Integer> getDailyMissionRewards()
{ {
List<Integer> rewards = null; List<Integer> rewards = null;
final String data = getString(ONE_DAY_REWARDS, ""); final String data = getString(DAILY_MISSION_REWARDS, "");
if (!data.isEmpty()) if (!data.isEmpty())
{ {
for (String s : getString(ONE_DAY_REWARDS, "").split(",")) for (String s : getString(DAILY_MISSION_REWARDS, "").split(","))
{ {
if (Util.isDigit(s)) if (Util.isDigit(s))
{ {

View File

@@ -19,8 +19,8 @@ package com.l2jmobius.gameserver.network.clientpackets.dailymission;
import java.util.Collection; import java.util.Collection;
import com.l2jmobius.commons.network.PacketReader; import com.l2jmobius.commons.network.PacketReader;
import com.l2jmobius.gameserver.data.xml.impl.OneDayRewardData; import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.client.L2GameClient; import com.l2jmobius.gameserver.network.client.L2GameClient;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@@ -49,7 +49,7 @@ public class RequestOneDayRewardReceive implements IClientIncomingPacket
return; return;
} }
final Collection<OneDayRewardDataHolder> reward = OneDayRewardData.getInstance().getOneDayRewardData(_reward); final Collection<DailyMissionDataHolder> reward = DailyMissionData.getInstance().getDailyMissionData(_reward);
if (reward.isEmpty()) if (reward.isEmpty())
{ {
return; return;

View File

@@ -20,8 +20,8 @@ import java.time.LocalDate;
import java.util.Collection; import java.util.Collection;
import com.l2jmobius.commons.network.PacketWriter; import com.l2jmobius.commons.network.PacketWriter;
import com.l2jmobius.gameserver.data.xml.impl.OneDayRewardData; import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder; import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.client.OutgoingPackets; import com.l2jmobius.gameserver.network.client.OutgoingPackets;
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@@ -32,12 +32,12 @@ import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
public class ExOneDayReceiveRewardList implements IClientOutgoingPacket public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
{ {
final L2PcInstance _player; final L2PcInstance _player;
private final Collection<OneDayRewardDataHolder> _rewards; private final Collection<DailyMissionDataHolder> _rewards;
public ExOneDayReceiveRewardList(L2PcInstance player) public ExOneDayReceiveRewardList(L2PcInstance player)
{ {
_player = player; _player = player;
_rewards = OneDayRewardData.getInstance().getOneDayRewardData(player); _rewards = DailyMissionData.getInstance().getDailyMissionData(player);
} }
@Override @Override
@@ -48,7 +48,7 @@ public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
packet.writeD(_player.getClassId().getId()); packet.writeD(_player.getClassId().getId());
packet.writeD(LocalDate.now().getDayOfWeek().ordinal()); // Day of week packet.writeD(LocalDate.now().getDayOfWeek().ordinal()); // Day of week
packet.writeD(_rewards.size()); packet.writeD(_rewards.size());
for (OneDayRewardDataHolder reward : _rewards) for (DailyMissionDataHolder reward : _rewards)
{ {
packet.writeH(reward.getId()); packet.writeH(reward.getId());
packet.writeC(reward.getStatus(_player)); packet.writeC(reward.getStatus(_player));

View File

@@ -48,7 +48,7 @@ public final class ScriptEngineManager
public static final Path EFFECT_MASTER_HANDLER_FILE = Paths.get(SCRIPT_FOLDER.toString(), "handlers", "EffectMasterHandler.java"); public static final Path EFFECT_MASTER_HANDLER_FILE = Paths.get(SCRIPT_FOLDER.toString(), "handlers", "EffectMasterHandler.java");
public static final Path SKILL_CONDITION_HANDLER_FILE = Paths.get(ScriptEngineManager.SCRIPT_FOLDER.toString(), "handlers", "SkillConditionMasterHandler.java"); public static final Path SKILL_CONDITION_HANDLER_FILE = Paths.get(ScriptEngineManager.SCRIPT_FOLDER.toString(), "handlers", "SkillConditionMasterHandler.java");
public static final Path CONDITION_HANDLER_FILE = Paths.get(ScriptEngineManager.SCRIPT_FOLDER.toString(), "handlers", "ConditionMasterHandler.java"); public static final Path CONDITION_HANDLER_FILE = Paths.get(ScriptEngineManager.SCRIPT_FOLDER.toString(), "handlers", "ConditionMasterHandler.java");
public static final Path ONE_DAY_REWARD_MASTER_HANDLER = Paths.get(SCRIPT_FOLDER.toString(), "handlers", "OneDayRewardMasterHandler.java"); public static final Path ONE_DAY_REWARD_MASTER_HANDLER = Paths.get(SCRIPT_FOLDER.toString(), "handlers", "DailyMissionMasterHandler.java");
private final Map<String, IExecutionContext> _extEngines = new HashMap<>(); private final Map<String, IExecutionContext> _extEngines = new HashMap<>();
private IExecutionContext _currentExecutionContext = null; private IExecutionContext _currentExecutionContext = null;
@@ -172,7 +172,7 @@ public final class ScriptEngineManager
executeScript(CONDITION_HANDLER_FILE); executeScript(CONDITION_HANDLER_FILE);
} }
public void executeOneDayRewardMasterHandler() throws Exception public void executeDailyMissionMasterHandler() throws Exception
{ {
executeScript(ONE_DAY_REWARD_MASTER_HANDLER); executeScript(ONE_DAY_REWARD_MASTER_HANDLER);
} }
@@ -229,7 +229,7 @@ public final class ScriptEngineManager
case "EffectMasterHandler.java": case "EffectMasterHandler.java":
case "SkillConditionMasterHandler.java": case "SkillConditionMasterHandler.java":
case "ConditionMasterHandler.java": case "ConditionMasterHandler.java":
case "OneDayRewardMasterHandler.java": case "DailyMissionMasterHandler.java":
{ {
return; return;
} }