Daily mission improvements.
Contributed by rocknowx.
This commit is contained in:
@@ -164,19 +164,19 @@ public class DailyMissionData implements IXmlReader
|
||||
/**
|
||||
* @param id int
|
||||
* @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())
|
||||
{
|
||||
return false;
|
||||
return 2; // Not Available
|
||||
}
|
||||
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)
|
||||
{
|
||||
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())
|
||||
{
|
||||
@@ -205,6 +209,8 @@ public class DailyMissionData implements IXmlReader
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the daily missions.
|
||||
|
@@ -52,7 +52,7 @@ public class ExOneDayReceiveRewardList extends L2GameServerPacket
|
||||
for (DailyMissionHolder mission : _availableMissions)
|
||||
{
|
||||
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
|
||||
writeD(0x00); // Current progress
|
||||
writeD(0x00); // Required total
|
||||
|
Reference in New Issue
Block a user