Completed the Daily Mission refactoring.
This commit is contained in:
parent
2f84c5a864
commit
e30ee3af6c
@ -1,5 +1,5 @@
|
||||
<?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)">
|
||||
<handler name="level">
|
||||
<param name="level">4</param>
|
51
trunk/dist/game/data/scripts/handlers/DailyMissionMasterHandler.java
vendored
Normal file
51
trunk/dist/game/data/scripts/handlers/DailyMissionMasterHandler.java
vendored
Normal 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.");
|
||||
}
|
||||
}
|
@ -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.");
|
||||
}
|
||||
}
|
@ -14,17 +14,17 @@
|
||||
* 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.onedayrewardshandlers;
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
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.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.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.Containers;
|
||||
@ -35,11 +35,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
public class BossDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public BossOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
public BossDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_amount = holder.getRequiredCompletions();
|
||||
@ -54,7 +54,7 @@ public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
@Override
|
||||
public boolean isAvailable(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
@ -63,7 +63,7 @@ public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
{
|
||||
if (entry.getProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
@ -99,12 +99,12 @@ public class BossOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
|
||||
private void processPlayerProgress(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE)
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (entry.increaseProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(entry);
|
||||
}
|
@ -14,12 +14,12 @@
|
||||
* 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.onedayrewardshandlers;
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.Containers;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
@ -29,11 +29,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
public class CeremonyOfChaosDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public CeremonyOfChaosOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
public CeremonyOfChaosDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_amount = holder.getRequiredCompletions();
|
||||
@ -48,7 +48,7 @@ public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHand
|
||||
@Override
|
||||
public boolean isAvailable(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
@ -57,7 +57,7 @@ public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHand
|
||||
{
|
||||
if (entry.getProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
@ -75,12 +75,12 @@ public class CeremonyOfChaosOneDayRewardHandler extends AbstractOneDayRewardHand
|
||||
{
|
||||
event.getMembers().forEach(member ->
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(member.getObjectId(), true);
|
||||
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE)
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(member.getObjectId(), true);
|
||||
if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (entry.increaseProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(entry);
|
||||
}
|
@ -14,12 +14,12 @@
|
||||
* 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.onedayrewardshandlers;
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.Containers;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
@ -30,11 +30,11 @@ import com.l2jmobius.gameserver.network.serverpackets.fishing.ExFishingEnd.Fishi
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
public class FishingDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public FishingOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
public FishingDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_amount = holder.getRequiredCompletions();
|
||||
@ -49,7 +49,7 @@ public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
@Override
|
||||
public boolean isAvailable(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
@ -58,7 +58,7 @@ public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
{
|
||||
if (entry.getProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
@ -77,12 +77,12 @@ public class FishingOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
if (event.getReason() == FishingEndReason.WIN)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE)
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (entry.increaseProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(entry);
|
||||
}
|
@ -14,12 +14,12 @@
|
||||
* 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.onedayrewardshandlers;
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.Containers;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
@ -29,12 +29,12 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
/**
|
||||
* @author Sdw
|
||||
*/
|
||||
public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
public class LevelDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _level;
|
||||
private final boolean _dualclass;
|
||||
|
||||
public LevelOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
public LevelDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_level = holder.getParams().getInt("level");
|
||||
@ -50,7 +50,7 @@ public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
@Override
|
||||
public boolean isAvailable(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
@ -59,7 +59,7 @@ public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
{
|
||||
if ((player.getLevel() >= _level) && (player.isDualClassActive() == _dualclass))
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
@ -84,10 +84,10 @@ public class LevelOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
if ((player.getLevel() >= _level) && (player.isDualClassActive() == _dualclass))
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE)
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
}
|
@ -14,12 +14,12 @@
|
||||
* 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.onedayrewardshandlers;
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.Containers;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
@ -29,11 +29,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
public class OlympiadDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public OlympiadOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
public OlympiadDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_amount = holder.getRequiredCompletions();
|
||||
@ -48,7 +48,7 @@ public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
@Override
|
||||
public boolean isAvailable(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
@ -57,7 +57,7 @@ public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
{
|
||||
if (entry.getProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
@ -73,22 +73,22 @@ public class OlympiadOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
|
||||
private void onOlympiadMatchResult(OnOlympiadMatchResult event)
|
||||
{
|
||||
final OneDayRewardPlayerEntry winnerEntry = getPlayerEntry(event.getWinner().getObjectId(), true);
|
||||
if (winnerEntry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE)
|
||||
final DailyMissionPlayerEntry winnerEntry = getPlayerEntry(event.getWinner().getObjectId(), true);
|
||||
if (winnerEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (winnerEntry.increaseProgress() >= _amount)
|
||||
{
|
||||
winnerEntry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
winnerEntry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(winnerEntry);
|
||||
}
|
||||
|
||||
final OneDayRewardPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true);
|
||||
if (loseEntry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE)
|
||||
final DailyMissionPlayerEntry loseEntry = getPlayerEntry(event.getLoser().getObjectId(), true);
|
||||
if (loseEntry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (loseEntry.increaseProgress() >= _amount)
|
||||
{
|
||||
loseEntry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
loseEntry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(loseEntry);
|
||||
}
|
@ -14,13 +14,13 @@
|
||||
* 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.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.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
|
||||
import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.Containers;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
@ -30,11 +30,11 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
public class QuestDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public QuestOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
public QuestDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_amount = holder.getRequiredCompletions();
|
||||
@ -49,7 +49,7 @@ public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
@Override
|
||||
public boolean isAvailable(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
@ -58,7 +58,7 @@ public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
{
|
||||
if (entry.getProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
@ -77,12 +77,12 @@ public class QuestOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
if (event.getQuestType() == QuestType.DAILY)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == OneDayRewardStatus.NOT_AVAILABLE)
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (entry.increaseProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(entry);
|
||||
}
|
@ -14,15 +14,15 @@
|
||||
* 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.onedayrewardshandlers;
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.data.sql.impl.ClanTable;
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
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.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.events.Containers;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
@ -32,9 +32,9 @@ import com.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class SiegeOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
public class SiegeDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
public SiegeOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
public SiegeDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
}
|
||||
@ -48,7 +48,7 @@ public class SiegeOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
@Override
|
||||
public boolean isAvailable(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
@ -75,8 +75,8 @@ public class SiegeOneDayRewardHandler extends AbstractOneDayRewardHandler
|
||||
{
|
||||
clan.getOnlineMembers(0).forEach(player ->
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
entry.setStatus(OneDayRewardStatus.AVAILABLE);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
});
|
||||
}
|
@ -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.ClassListData;
|
||||
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.EnchantItemData;
|
||||
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.MultisellData;
|
||||
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.PetDataTable;
|
||||
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.SpawnTable;
|
||||
import com.l2jmobius.gameserver.handler.ConditionHandler;
|
||||
import com.l2jmobius.gameserver.handler.DailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.handler.EffectHandler;
|
||||
import com.l2jmobius.gameserver.handler.OneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.handler.SkillConditionHandler;
|
||||
import com.l2jmobius.gameserver.idfactory.IdFactory;
|
||||
import com.l2jmobius.gameserver.instancemanager.AirShipManager;
|
||||
@ -210,8 +210,8 @@ public class GameServer
|
||||
AbilityPointsData.getInstance();
|
||||
SayuneData.getInstance();
|
||||
ClanRewardData.getInstance();
|
||||
OneDayRewardHandler.getInstance().executeScript();
|
||||
OneDayRewardData.getInstance();
|
||||
DailyMissionHandler.getInstance().executeScript();
|
||||
DailyMissionData.getInstance();
|
||||
|
||||
printSection("Skills");
|
||||
SkillConditionHandler.getInstance().executeScript();
|
||||
|
@ -28,7 +28,7 @@ import java.util.stream.Collectors;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
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.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.base.ClassId;
|
||||
@ -37,12 +37,12 @@ import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
/**
|
||||
* @author Sdw
|
||||
*/
|
||||
public class OneDayRewardData implements IGameXmlReader
|
||||
public class DailyMissionData implements IGameXmlReader
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(OneDayRewardData.class.getName());
|
||||
private final Map<Integer, List<OneDayRewardDataHolder>> _oneDayReward = new LinkedHashMap<>();
|
||||
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
|
||||
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
|
||||
|
||||
protected OneDayRewardData()
|
||||
protected DailyMissionData()
|
||||
{
|
||||
load();
|
||||
}
|
||||
@ -50,9 +50,9 @@ public class OneDayRewardData implements IGameXmlReader
|
||||
@Override
|
||||
public void load()
|
||||
{
|
||||
_oneDayReward.clear();
|
||||
parseDatapackFile("data/OneDayReward.xml");
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _oneDayReward.size() + " one day rewards.");
|
||||
_dailyMissionRewards.clear();
|
||||
parseDatapackFile("data/DailyMission.xml");
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -93,25 +93,25 @@ public class OneDayRewardData implements IGameXmlReader
|
||||
forEach(handlerNode, "param", paramNode -> params.set(parseString(paramNode.getAttributes(), "name"), paramNode.getTextContent()));
|
||||
});
|
||||
|
||||
final OneDayRewardDataHolder holder = new OneDayRewardDataHolder(set);
|
||||
_oneDayReward.computeIfAbsent(holder.getId(), k -> new ArrayList<>()).add(holder);
|
||||
final DailyMissionDataHolder holder = new DailyMissionDataHolder(set);
|
||||
_dailyMissionRewards.computeIfAbsent(holder.getId(), k -> new ArrayList<>()).add(holder);
|
||||
}));
|
||||
}
|
||||
|
||||
public Collection<OneDayRewardDataHolder> getOneDayRewardData()
|
||||
public Collection<DailyMissionDataHolder> getDailyMissionData()
|
||||
{
|
||||
//@formatter:off
|
||||
return _oneDayReward.values()
|
||||
return _dailyMissionRewards.values()
|
||||
.stream()
|
||||
.flatMap(List::stream)
|
||||
.collect(Collectors.toList());
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
public Collection<OneDayRewardDataHolder> getOneDayRewardData(L2PcInstance player)
|
||||
public Collection<DailyMissionDataHolder> getDailyMissionData(L2PcInstance player)
|
||||
{
|
||||
//@formatter:off
|
||||
return _oneDayReward.values()
|
||||
return _dailyMissionRewards.values()
|
||||
.stream()
|
||||
.flatMap(List::stream)
|
||||
.filter(o -> o.isDisplayable(player))
|
||||
@ -119,22 +119,22 @@ public class OneDayRewardData implements IGameXmlReader
|
||||
//@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.
|
||||
* @return single instance of OneDayRewardData
|
||||
* Gets the single instance of DailyMissionData.
|
||||
* @return single instance of DailyMissionData
|
||||
*/
|
||||
public static final OneDayRewardData getInstance()
|
||||
public static final DailyMissionData getInstance()
|
||||
{
|
||||
return SingletonHolder._instance;
|
||||
}
|
||||
|
||||
private static class SingletonHolder
|
||||
{
|
||||
protected static final OneDayRewardData _instance = new OneDayRewardData();
|
||||
protected static final DailyMissionData _instance = new DailyMissionData();
|
||||
}
|
||||
}
|
@ -19,7 +19,7 @@ package com.l2jmobius.gameserver.enums;
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public enum OneDayRewardStatus
|
||||
public enum DailyMissionStatus
|
||||
{
|
||||
AVAILABLE(1),
|
||||
NOT_AVAILABLE(2),
|
||||
@ -27,7 +27,7 @@ public enum OneDayRewardStatus
|
||||
|
||||
private int _clientId;
|
||||
|
||||
private OneDayRewardStatus(int clientId)
|
||||
private DailyMissionStatus(int clientId)
|
||||
{
|
||||
_clientId = clientId;
|
||||
}
|
||||
@ -37,9 +37,9 @@ public enum OneDayRewardStatus
|
||||
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)
|
||||
{
|
@ -26,29 +26,29 @@ import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.database.DatabaseFactory;
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardPlayerEntry;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.ListenersContainer;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
*/
|
||||
public abstract class AbstractOneDayRewardHandler extends ListenersContainer
|
||||
public abstract class AbstractDailyMissionHandler extends ListenersContainer
|
||||
{
|
||||
protected Logger LOGGER = Logger.getLogger(getClass().getName());
|
||||
|
||||
private final Map<Integer, OneDayRewardPlayerEntry> _entries = new ConcurrentHashMap<>();
|
||||
private final OneDayRewardDataHolder _holder;
|
||||
private final Map<Integer, DailyMissionPlayerEntry> _entries = new ConcurrentHashMap<>();
|
||||
private final DailyMissionDataHolder _holder;
|
||||
|
||||
protected AbstractOneDayRewardHandler(OneDayRewardDataHolder holder)
|
||||
protected AbstractDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
_holder = holder;
|
||||
init();
|
||||
}
|
||||
|
||||
public OneDayRewardDataHolder getHolder()
|
||||
public DailyMissionDataHolder getHolder()
|
||||
{
|
||||
return _holder;
|
||||
}
|
||||
@ -59,13 +59,13 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
|
||||
|
||||
public int getStatus(L2PcInstance player)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
return entry != null ? entry.getStatus().getClientId() : OneDayRewardStatus.NOT_AVAILABLE.getClientId();
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
return entry != null ? entry.getStatus().getClientId() : DailyMissionStatus.NOT_AVAILABLE.getClientId();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
|
||||
PreparedStatement ps = con.prepareStatement("DELETE FROM character_daily_rewards WHERE rewardId = ? AND status = ?"))
|
||||
{
|
||||
ps.setInt(1, _holder.getId());
|
||||
ps.setInt(2, OneDayRewardStatus.COMPLETED.getClientId());
|
||||
ps.setInt(2, DailyMissionStatus.COMPLETED.getClientId());
|
||||
ps.execute();
|
||||
}
|
||||
catch (SQLException e)
|
||||
@ -94,8 +94,8 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
|
||||
{
|
||||
giveRewards(player);
|
||||
|
||||
final OneDayRewardPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
entry.setStatus(OneDayRewardStatus.COMPLETED);
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
entry.setStatus(DailyMissionStatus.COMPLETED);
|
||||
entry.setLastCompleted(System.currentTimeMillis());
|
||||
storePlayerEntry(entry);
|
||||
|
||||
@ -109,7 +109,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
|
||||
_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();
|
||||
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)
|
||||
{
|
||||
return existingEntry;
|
||||
@ -147,7 +147,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
@ -159,7 +159,7 @@ public abstract class AbstractOneDayRewardHandler extends ListenersContainer
|
||||
|
||||
if (createIfNone)
|
||||
{
|
||||
final OneDayRewardPlayerEntry entry = new OneDayRewardPlayerEntry(objectId, _holder.getId());
|
||||
final DailyMissionPlayerEntry entry = new DailyMissionPlayerEntry(objectId, _holder.getId());
|
||||
_entries.put(objectId, entry);
|
||||
return entry;
|
||||
}
|
@ -20,22 +20,22 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.scripting.ScriptEngineManager;
|
||||
|
||||
/**
|
||||
* @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);
|
||||
}
|
||||
|
||||
public Function<OneDayRewardDataHolder, AbstractOneDayRewardHandler> getHandler(String name)
|
||||
public Function<DailyMissionDataHolder, AbstractDailyMissionHandler> getHandler(String name)
|
||||
{
|
||||
return _handlerFactories.get(name);
|
||||
}
|
||||
@ -50,21 +50,21 @@ public class OneDayRewardHandler
|
||||
try
|
||||
{
|
||||
|
||||
ScriptEngineManager.getInstance().executeOneDayRewardMasterHandler();
|
||||
ScriptEngineManager.getInstance().executeDailyMissionMasterHandler();
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
private static class SingletonHolder
|
||||
{
|
||||
protected static final OneDayRewardHandler _instance = new OneDayRewardHandler();
|
||||
protected static final DailyMissionHandler _instance = new DailyMissionHandler();
|
||||
}
|
||||
}
|
@ -26,11 +26,11 @@ import java.util.logging.Logger;
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.database.DatabaseFactory;
|
||||
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.L2ClanMember;
|
||||
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.stat.PcStat;
|
||||
import com.l2jmobius.gameserver.model.base.SubClass;
|
||||
@ -64,10 +64,10 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
|
||||
{
|
||||
resetClanBonus();
|
||||
resetExtendDrop();
|
||||
resetDailyMissionRewards();
|
||||
resetDailySkills();
|
||||
resetWorldChatPoints();
|
||||
resetOneDayReward();
|
||||
resetRecommends();
|
||||
resetWorldChatPoints();
|
||||
}
|
||||
|
||||
@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()
|
||||
|
@ -19,9 +19,9 @@ package com.l2jmobius.gameserver.model;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractOneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.handler.OneDayRewardHandler;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import com.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.handler.DailyMissionHandler;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.base.ClassId;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
@ -29,7 +29,7 @@ import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
/**
|
||||
* @author Sdw
|
||||
*/
|
||||
public class OneDayRewardDataHolder
|
||||
public class DailyMissionDataHolder
|
||||
{
|
||||
private final int _id;
|
||||
private final int _rewardId;
|
||||
@ -38,11 +38,11 @@ public class OneDayRewardDataHolder
|
||||
private final int _requiredCompletions;
|
||||
private final StatsSet _params;
|
||||
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");
|
||||
_rewardId = set.getInt("reward_id");
|
||||
@ -91,7 +91,7 @@ public class OneDayRewardDataHolder
|
||||
|
||||
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)
|
||||
@ -104,12 +104,12 @@ public class OneDayRewardDataHolder
|
||||
|
||||
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)
|
||||
{
|
||||
return _handler != null ? _handler.getProgress(player) : OneDayRewardStatus.NOT_AVAILABLE.getClientId();
|
||||
return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId();
|
||||
}
|
||||
|
||||
public void reset()
|
@ -16,29 +16,29 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.model;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.OneDayRewardStatus;
|
||||
import com.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
*/
|
||||
public class OneDayRewardPlayerEntry
|
||||
public class DailyMissionPlayerEntry
|
||||
{
|
||||
private final int _objectId;
|
||||
private final int _rewardId;
|
||||
private OneDayRewardStatus _status = OneDayRewardStatus.NOT_AVAILABLE;
|
||||
private DailyMissionStatus _status = DailyMissionStatus.NOT_AVAILABLE;
|
||||
private int _progress;
|
||||
private long _lastCompleted;
|
||||
|
||||
public OneDayRewardPlayerEntry(int objectId, int rewardId)
|
||||
public DailyMissionPlayerEntry(int objectId, int rewardId)
|
||||
{
|
||||
_objectId = objectId;
|
||||
_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);
|
||||
_status = OneDayRewardStatus.valueOf(status);
|
||||
_status = DailyMissionStatus.valueOf(status);
|
||||
_progress = progress;
|
||||
_lastCompleted = lastCompleted;
|
||||
}
|
||||
@ -53,12 +53,12 @@ public class OneDayRewardPlayerEntry
|
||||
return _rewardId;
|
||||
}
|
||||
|
||||
public OneDayRewardStatus getStatus()
|
||||
public DailyMissionStatus getStatus()
|
||||
{
|
||||
return _status;
|
||||
}
|
||||
|
||||
public void setStatus(OneDayRewardStatus status)
|
||||
public void setStatus(DailyMissionStatus status)
|
||||
{
|
||||
_status = status;
|
||||
}
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
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.items.L2Item;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
@ -115,7 +115,7 @@ public abstract class Condition implements ConditionListener
|
||||
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);
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ public class PlayerVariables extends AbstractVariables
|
||||
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 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 ABILITY_POINTS_MAIN_CLASS = "ABILITY_POINTS";
|
||||
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);
|
||||
}
|
||||
|
||||
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())
|
||||
{
|
||||
result = Integer.toString(rewardId);
|
||||
@ -174,13 +174,13 @@ public class PlayerVariables extends AbstractVariables
|
||||
{
|
||||
result += "," + rewardId;
|
||||
}
|
||||
set(ONE_DAY_REWARDS, result);
|
||||
set(DAILY_MISSION_REWARDS, result);
|
||||
}
|
||||
|
||||
public void removeOneDayReward(int rewardId)
|
||||
public void removeDailyMissionReward(int rewardId)
|
||||
{
|
||||
String result = "";
|
||||
final String data = getString(ONE_DAY_REWARDS, "");
|
||||
final String data = getString(DAILY_MISSION_REWARDS, "");
|
||||
for (String s : data.split(","))
|
||||
{
|
||||
if (s.equals(Integer.toString(rewardId)))
|
||||
@ -196,12 +196,12 @@ public class PlayerVariables extends AbstractVariables
|
||||
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(","))
|
||||
{
|
||||
if (s.equals(Integer.toString(rewardId)))
|
||||
@ -212,13 +212,13 @@ public class PlayerVariables extends AbstractVariables
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<Integer> getOneDayRewards()
|
||||
public List<Integer> getDailyMissionRewards()
|
||||
{
|
||||
List<Integer> rewards = null;
|
||||
final String data = getString(ONE_DAY_REWARDS, "");
|
||||
final String data = getString(DAILY_MISSION_REWARDS, "");
|
||||
if (!data.isEmpty())
|
||||
{
|
||||
for (String s : getString(ONE_DAY_REWARDS, "").split(","))
|
||||
for (String s : getString(DAILY_MISSION_REWARDS, "").split(","))
|
||||
{
|
||||
if (Util.isDigit(s))
|
||||
{
|
||||
|
@ -19,8 +19,8 @@ package com.l2jmobius.gameserver.network.clientpackets.dailymission;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.OneDayRewardData;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.client.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
@ -49,7 +49,7 @@ public class RequestOneDayRewardReceive implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<OneDayRewardDataHolder> reward = OneDayRewardData.getInstance().getOneDayRewardData(_reward);
|
||||
final Collection<DailyMissionDataHolder> reward = DailyMissionData.getInstance().getDailyMissionData(_reward);
|
||||
if (reward.isEmpty())
|
||||
{
|
||||
return;
|
||||
|
@ -20,8 +20,8 @@ import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.OneDayRewardData;
|
||||
import com.l2jmobius.gameserver.model.OneDayRewardDataHolder;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
|
||||
import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.client.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
@ -32,12 +32,12 @@ import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
|
||||
{
|
||||
final L2PcInstance _player;
|
||||
private final Collection<OneDayRewardDataHolder> _rewards;
|
||||
private final Collection<DailyMissionDataHolder> _rewards;
|
||||
|
||||
public ExOneDayReceiveRewardList(L2PcInstance player)
|
||||
{
|
||||
_player = player;
|
||||
_rewards = OneDayRewardData.getInstance().getOneDayRewardData(player);
|
||||
_rewards = DailyMissionData.getInstance().getDailyMissionData(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -48,7 +48,7 @@ public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
|
||||
packet.writeD(_player.getClassId().getId());
|
||||
packet.writeD(LocalDate.now().getDayOfWeek().ordinal()); // Day of week
|
||||
packet.writeD(_rewards.size());
|
||||
for (OneDayRewardDataHolder reward : _rewards)
|
||||
for (DailyMissionDataHolder reward : _rewards)
|
||||
{
|
||||
packet.writeH(reward.getId());
|
||||
packet.writeC(reward.getStatus(_player));
|
||||
|
@ -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 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 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 IExecutionContext _currentExecutionContext = null;
|
||||
@ -172,7 +172,7 @@ public final class ScriptEngineManager
|
||||
executeScript(CONDITION_HANDLER_FILE);
|
||||
}
|
||||
|
||||
public void executeOneDayRewardMasterHandler() throws Exception
|
||||
public void executeDailyMissionMasterHandler() throws Exception
|
||||
{
|
||||
executeScript(ONE_DAY_REWARD_MASTER_HANDLER);
|
||||
}
|
||||
@ -229,7 +229,7 @@ public final class ScriptEngineManager
|
||||
case "EffectMasterHandler.java":
|
||||
case "SkillConditionMasterHandler.java":
|
||||
case "ConditionMasterHandler.java":
|
||||
case "OneDayRewardMasterHandler.java":
|
||||
case "DailyMissionMasterHandler.java":
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user