Daily mission improvements.
Contributed by rocknowx.
This commit is contained in:
@@ -164,19 +164,19 @@ public class DailyMissionData implements IXmlReader
|
|||||||
/**
|
/**
|
||||||
* @param id int
|
* @param id int
|
||||||
* @param player L2PcInstance
|
* @param player L2PcInstance
|
||||||
* @return boolean
|
* @return int
|
||||||
*/
|
*/
|
||||||
public boolean isRewardAvailable(int id, L2PcInstance player)
|
public int RewardStatus(int id, L2PcInstance player)
|
||||||
{
|
{
|
||||||
if (player.getLevel() < _dailyMissions.get(id - 1).getLevel())
|
if (player.getLevel() < _dailyMissions.get(id - 1).getLevel())
|
||||||
{
|
{
|
||||||
return false;
|
return 2; // Not Available
|
||||||
}
|
}
|
||||||
if (player.getVariables().getString("DailyMission" + id, null) != null)
|
if (player.getVariables().getString("DailyMission" + id, null) != null)
|
||||||
{
|
{
|
||||||
return false;
|
return 3; // Complete
|
||||||
}
|
}
|
||||||
return true;
|
return 1; // Available
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -187,7 +187,11 @@ public class DailyMissionData implements IXmlReader
|
|||||||
{
|
{
|
||||||
for (DailyMissionHolder mission : _dailyMissions)
|
for (DailyMissionHolder mission : _dailyMissions)
|
||||||
{
|
{
|
||||||
if ((mission.getClientId() == rewardId1) && isRewardAvailable(mission.getId(), player))
|
if ((mission.getClientId() == rewardId1) && (RewardStatus(mission.getId(), player) == 1))
|
||||||
|
{
|
||||||
|
for (int classId : mission.getAvailableClasses())
|
||||||
|
{
|
||||||
|
if (player.getClassId().getId() == classId)
|
||||||
{
|
{
|
||||||
for (int itemId : mission.getRewards().keySet())
|
for (int itemId : mission.getRewards().keySet())
|
||||||
{
|
{
|
||||||
@@ -205,6 +209,8 @@ public class DailyMissionData implements IXmlReader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the daily missions.
|
* Gets the daily missions.
|
||||||
|
@@ -52,7 +52,7 @@ public class ExOneDayReceiveRewardList extends L2GameServerPacket
|
|||||||
for (DailyMissionHolder mission : _availableMissions)
|
for (DailyMissionHolder mission : _availableMissions)
|
||||||
{
|
{
|
||||||
writeH(mission.getClientId()); // Reward
|
writeH(mission.getClientId()); // Reward
|
||||||
writeC(DailyMissionData.getInstance().isRewardAvailable(mission.getId(), _activeChar) ? 1 : 2); // 1 Available, 2 Not Available
|
writeC(DailyMissionData.getInstance().RewardStatus(mission.getId(), _activeChar)); // 1 Available, 2 Not Available, 3 Complete
|
||||||
writeC(0x00); // Requires multiple completion - YesOrNo
|
writeC(0x00); // Requires multiple completion - YesOrNo
|
||||||
writeD(0x00); // Current progress
|
writeD(0x00); // Current progress
|
||||||
writeD(0x00); // Required total
|
writeD(0x00); // Required total
|
||||||
|
Reference in New Issue
Block a user