Daily Mission packet related improvements.

This commit is contained in:
MobiusDev
2018-03-07 12:55:16 +00:00
parent a0399cb8be
commit b27f27a6d2
17 changed files with 84 additions and 12 deletions

View File

@ -41,6 +41,7 @@ public class DailyMissionData implements IGameXmlReader
{
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private boolean _isAvailable;
protected DailyMissionData()
{
@ -52,6 +53,7 @@ public class DailyMissionData implements IGameXmlReader
{
_dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml");
_isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
}
@ -124,6 +126,11 @@ public class DailyMissionData implements IGameXmlReader
return _dailyMissionRewards.get(id);
}
public boolean isAvailable()
{
return _isAvailable;
}
/**
* Gets the single instance of DailyMissionData.
* @return single instance of DailyMissionData

View File

@ -68,7 +68,6 @@ import com.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import com.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import com.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
import com.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import com.l2jmobius.gameserver.network.serverpackets.ExConnectedTimeAndGettableReward;
import com.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import com.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import com.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@ -100,6 +99,7 @@ import com.l2jmobius.gameserver.network.serverpackets.SkillList;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.network.serverpackets.ability.ExAcquireAPSkillList;
import com.l2jmobius.gameserver.network.serverpackets.attendance.ExVipAttendanceItemList;
import com.l2jmobius.gameserver.network.serverpackets.dailymission.ExConnectedTimeAndGettableReward;
import com.l2jmobius.gameserver.network.serverpackets.dailymission.ExOneDayReceiveRewardList;
import com.l2jmobius.gameserver.network.serverpackets.friend.L2FriendList;

View File

@ -14,10 +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 com.l2jmobius.gameserver.network.serverpackets;
package com.l2jmobius.gameserver.network.serverpackets.dailymission;
import com.l2jmobius.commons.network.PacketWriter;
import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
import com.l2jmobius.gameserver.network.OutgoingPackets;
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
/**
* @author Sdw
@ -29,6 +31,11 @@ public class ExConnectedTimeAndGettableReward implements IClientOutgoingPacket
@Override
public boolean write(PacketWriter packet)
{
if (!DailyMissionData.getInstance().isAvailable())
{
return true;
}
OutgoingPackets.EX_CONNECTED_TIME_AND_GETTABLE_REWARD.writeId(packet);
for (int i = 0; i < 16; i++) // TODO : Find what the hell it is
{
@ -36,5 +43,4 @@ public class ExConnectedTimeAndGettableReward implements IClientOutgoingPacket
}
return true;
}
}

View File

@ -43,6 +43,11 @@ public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
@Override
public boolean write(PacketWriter packet)
{
if (!DailyMissionData.getInstance().isAvailable())
{
return true;
}
OutgoingPackets.EX_ONE_DAY_RECEIVE_REWARD_LIST.writeId(packet);
packet.writeD(_player.getClassId().getId());