Fixed non-existent hero legend rank NPE.

This commit is contained in:
MobiusDevelopment
2022-10-19 21:14:52 +00:00
parent fc4ae26cc6
commit 525f7e018a
3 changed files with 48 additions and 30 deletions

View File

@@ -922,7 +922,6 @@ public class Hero
*/ */
public void claimHero(Player player) public void claimHero(Player player)
{ {
final int legendId = RankManager.getInstance().getOlyRankList().get(1).getInt("charId", 0);
StatSet hero = HEROES.get(player.getObjectId()); StatSet hero = HEROES.get(player.getObjectId());
if (hero == null) if (hero == null)
{ {
@@ -943,6 +942,11 @@ public class Hero
} }
player.setHero(true); player.setHero(true);
final StatSet legendRank = RankManager.getInstance().getOlyRankList().get(1);
if (legendRank != null)
{
final int legendId = legendRank.getInt("charId", 0);
if (player.getObjectId() == legendId) if (player.getObjectId() == legendId)
{ {
player.setLegend(true); player.setLegend(true);
@@ -956,6 +960,8 @@ public class Hero
clan.broadcastToOnlineMembers(sm); clan.broadcastToOnlineMembers(sm);
} }
} }
}
player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation
player.sendPacket(new UserInfo(player)); player.sendPacket(new UserInfo(player));
player.broadcastUserInfo(); player.broadcastUserInfo();

View File

@@ -922,7 +922,6 @@ public class Hero
*/ */
public void claimHero(Player player) public void claimHero(Player player)
{ {
final int legendId = RankManager.getInstance().getOlyRankList().get(1).getInt("charId", 0);
StatSet hero = HEROES.get(player.getObjectId()); StatSet hero = HEROES.get(player.getObjectId());
if (hero == null) if (hero == null)
{ {
@@ -943,6 +942,11 @@ public class Hero
} }
player.setHero(true); player.setHero(true);
final StatSet legendRank = RankManager.getInstance().getOlyRankList().get(1);
if (legendRank != null)
{
final int legendId = legendRank.getInt("charId", 0);
if (player.getObjectId() == legendId) if (player.getObjectId() == legendId)
{ {
player.setLegend(true); player.setLegend(true);
@@ -956,6 +960,8 @@ public class Hero
clan.broadcastToOnlineMembers(sm); clan.broadcastToOnlineMembers(sm);
} }
} }
}
player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation
player.sendPacket(new UserInfo(player)); player.sendPacket(new UserInfo(player));
player.broadcastUserInfo(); player.broadcastUserInfo();

View File

@@ -922,7 +922,6 @@ public class Hero
*/ */
public void claimHero(Player player) public void claimHero(Player player)
{ {
final int legendId = RankManager.getInstance().getOlyRankList().get(1).getInt("charId", 0);
StatSet hero = HEROES.get(player.getObjectId()); StatSet hero = HEROES.get(player.getObjectId());
if (hero == null) if (hero == null)
{ {
@@ -943,6 +942,11 @@ public class Hero
} }
player.setHero(true); player.setHero(true);
final StatSet legendRank = RankManager.getInstance().getOlyRankList().get(1);
if (legendRank != null)
{
final int legendId = legendRank.getInt("charId", 0);
if (player.getObjectId() == legendId) if (player.getObjectId() == legendId)
{ {
player.setLegend(true); player.setLegend(true);
@@ -956,6 +960,8 @@ public class Hero
clan.broadcastToOnlineMembers(sm); clan.broadcastToOnlineMembers(sm);
} }
} }
}
player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation
player.sendPacket(new UserInfo(player)); player.sendPacket(new UserInfo(player));
player.broadcastUserInfo(); player.broadcastUserInfo();