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,19 +942,26 @@ public class Hero
} }
player.setHero(true); player.setHero(true);
if (player.getObjectId() == legendId)
final StatSet legendRank = RankManager.getInstance().getOlyRankList().get(1);
if (legendRank != null)
{ {
player.setLegend(true); final int legendId = legendRank.getInt("charId", 0);
player.getVariables().set(ALLY_NAME, false); if (player.getObjectId() == legendId)
if ((clan != null) && (clan.getLevel() >= 5))
{ {
clan.addReputationScore(100000); player.setLegend(true);
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_NAMED_A_HERO_S2_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION); player.getVariables().set(ALLY_NAME, false);
sm.addString(CharNameTable.getInstance().getNameById(player.getObjectId())); if ((clan != null) && (clan.getLevel() >= 5))
sm.addInt(Config.HERO_POINTS); {
clan.broadcastToOnlineMembers(sm); clan.addReputationScore(100000);
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_NAMED_A_HERO_S2_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION);
sm.addString(CharNameTable.getInstance().getNameById(player.getObjectId()));
sm.addInt(Config.HERO_POINTS);
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,19 +942,26 @@ public class Hero
} }
player.setHero(true); player.setHero(true);
if (player.getObjectId() == legendId)
final StatSet legendRank = RankManager.getInstance().getOlyRankList().get(1);
if (legendRank != null)
{ {
player.setLegend(true); final int legendId = legendRank.getInt("charId", 0);
player.getVariables().set(ALLY_NAME, false); if (player.getObjectId() == legendId)
if ((clan != null) && (clan.getLevel() >= 5))
{ {
clan.addReputationScore(100000); player.setLegend(true);
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_NAMED_A_HERO_S2_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION); player.getVariables().set(ALLY_NAME, false);
sm.addString(CharNameTable.getInstance().getNameById(player.getObjectId())); if ((clan != null) && (clan.getLevel() >= 5))
sm.addInt(Config.HERO_POINTS); {
clan.broadcastToOnlineMembers(sm); clan.addReputationScore(100000);
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_NAMED_A_HERO_S2_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION);
sm.addString(CharNameTable.getInstance().getNameById(player.getObjectId()));
sm.addInt(Config.HERO_POINTS);
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,19 +942,26 @@ public class Hero
} }
player.setHero(true); player.setHero(true);
if (player.getObjectId() == legendId)
final StatSet legendRank = RankManager.getInstance().getOlyRankList().get(1);
if (legendRank != null)
{ {
player.setLegend(true); final int legendId = legendRank.getInt("charId", 0);
player.getVariables().set(ALLY_NAME, false); if (player.getObjectId() == legendId)
if ((clan != null) && (clan.getLevel() >= 5))
{ {
clan.addReputationScore(100000); player.setLegend(true);
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_HAS_BECOME_THE_HERO_CLAN_REPUTATION_POINTS_S2); player.getVariables().set(ALLY_NAME, false);
sm.addString(CharNameTable.getInstance().getNameById(player.getObjectId())); if ((clan != null) && (clan.getLevel() >= 5))
sm.addInt(Config.HERO_POINTS); {
clan.broadcastToOnlineMembers(sm); clan.addReputationScore(100000);
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_HAS_BECOME_THE_HERO_CLAN_REPUTATION_POINTS_S2);
sm.addString(CharNameTable.getInstance().getNameById(player.getObjectId()));
sm.addInt(Config.HERO_POINTS);
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();