MonsterDailyMissionHandler NPE fix and cleanup.

Thanks to CostyKiller.
This commit is contained in:
MobiusDevelopment
2022-11-07 22:39:23 +00:00
parent f89dfc0f98
commit 43f1707098
4 changed files with 54 additions and 66 deletions

View File

@@ -119,27 +119,26 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
{ {
return; return;
} }
if (((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0))
if ((((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0)) //
&& (checkTimeInterval() || (_startHour.equals("") && _endHour.equals(""))))
{ {
if (checkTimeInterval() || ((_startHour == "") && (_endHour == ""))) final Party party = player.getParty();
if (party != null)
{ {
final Party party = player.getParty(); final CommandChannel channel = party.getCommandChannel();
if (party != null) final List<Player> members = channel != null ? channel.getMembers() : party.getMembers();
for (Player member : members)
{ {
final CommandChannel channel = party.getCommandChannel(); if ((member.getLevel() >= (monsterLevel - 5)) && (member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE))
final List<Player> members = channel != null ? channel.getMembers() : party.getMembers();
for (Player member : members)
{ {
if ((member.getLevel() >= (monsterLevel - 5)) && (member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE)) processPlayerProgress(member);
{
processPlayerProgress(member);
}
} }
} }
else }
{ else
processPlayerProgress(player); {
} processPlayerProgress(player);
} }
} }
} }
@@ -159,15 +158,14 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
private boolean checkTimeInterval() private boolean checkTimeInterval()
{ {
if ((_startHour != "") && (_endHour != "")) if (_startHour.equals("") && _endHour.equals(""))
{ {
Date date = new Date(); final Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
dateFormat.format(date); dateFormat.format(date);
try try
{ {
// Check param hours // Check hour parameters.
if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour))) if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour)))
{ {
return true; return true;
@@ -183,12 +181,8 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
private boolean checkRequiredMission(Player player) private boolean checkRequiredMission(Player player)
{ {
final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false);
final int missionStatus = getStatus(player); final int missionId = missionEntry != null ? missionEntry.getRewardId() : 0;
if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) return (missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId());
{
return true;
}
return false;
} }
} }

View File

@@ -119,27 +119,26 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
{ {
return; return;
} }
if (((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0))
if ((((_requiredMissionCompleteId != 0) && checkRequiredMission(player)) || (_requiredMissionCompleteId == 0)) //
&& (checkTimeInterval() || (_startHour.equals("") && _endHour.equals(""))))
{ {
if (checkTimeInterval() || ((_startHour == "") && (_endHour == ""))) final Party party = player.getParty();
if (party != null)
{ {
final Party party = player.getParty(); final CommandChannel channel = party.getCommandChannel();
if (party != null) final List<Player> members = channel != null ? channel.getMembers() : party.getMembers();
for (Player member : members)
{ {
final CommandChannel channel = party.getCommandChannel(); if ((member.getLevel() >= (monsterLevel - 5)) && (member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE))
final List<Player> members = channel != null ? channel.getMembers() : party.getMembers();
for (Player member : members)
{ {
if ((member.getLevel() >= (monsterLevel - 5)) && (member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE)) processPlayerProgress(member);
{
processPlayerProgress(member);
}
} }
} }
else }
{ else
processPlayerProgress(player); {
} processPlayerProgress(player);
} }
} }
} }
@@ -159,15 +158,14 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
private boolean checkTimeInterval() private boolean checkTimeInterval()
{ {
if ((_startHour != "") && (_endHour != "")) if (_startHour.equals("") && _endHour.equals(""))
{ {
Date date = new Date(); final Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
dateFormat.format(date); dateFormat.format(date);
try try
{ {
// Check param hours // Check hour parameters.
if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour))) if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour)))
{ {
return true; return true;
@@ -183,12 +181,8 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
private boolean checkRequiredMission(Player player) private boolean checkRequiredMission(Player player)
{ {
final int missionId = getPlayerEntry(player.getObjectId(), false).getRewardId(); final DailyMissionPlayerEntry missionEntry = getPlayerEntry(player.getObjectId(), false);
final int missionStatus = getStatus(player); final int missionId = missionEntry != null ? missionEntry.getRewardId() : 0;
if ((missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (missionStatus == DailyMissionStatus.COMPLETED.getClientId())) return (missionId != 0) && (_requiredMissionCompleteId != 0) && (missionId == _requiredMissionCompleteId) && (getStatus(player) == DailyMissionStatus.COMPLETED.getClientId());
{
return true;
}
return false;
} }
} }

View File

@@ -117,7 +117,8 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
{ {
return; return;
} }
if (checkTimeInterval() || ((_startHour == "") && (_endHour == "")))
if (checkTimeInterval() || (_startHour.equals("") && _endHour.equals("")))
{ {
final Party party = player.getParty(); final Party party = player.getParty();
if (party != null) if (party != null)
@@ -154,15 +155,14 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
private boolean checkTimeInterval() private boolean checkTimeInterval()
{ {
if ((_startHour != "") && (_endHour != "")) if (_startHour.equals("") && _endHour.equals(""))
{ {
Date date = new Date(); final Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
dateFormat.format(date); dateFormat.format(date);
try try
{ {
// Check param hours // Check hour parameters.
if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour))) if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour)))
{ {
return true; return true;

View File

@@ -117,7 +117,8 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
{ {
return; return;
} }
if (checkTimeInterval() || ((_startHour == "") && (_endHour == "")))
if (checkTimeInterval() || (_startHour.equals("") && _endHour.equals("")))
{ {
final Party party = player.getParty(); final Party party = player.getParty();
if (party != null) if (party != null)
@@ -154,15 +155,14 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
private boolean checkTimeInterval() private boolean checkTimeInterval()
{ {
if ((_startHour != "") && (_endHour != "")) if (_startHour.equals("") && _endHour.equals(""))
{ {
Date date = new Date(); final Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
dateFormat.format(date); dateFormat.format(date);
try try
{ {
// Check param hours // Check hour parameters.
if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour))) if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour)))
{ {
return true; return true;