Fixed probable giveResidentialSkills NPE.
This commit is contained in:
@@ -2600,11 +2600,19 @@ public class Player extends Playable
|
||||
}
|
||||
if (_clan.getCastleId() > 0)
|
||||
{
|
||||
CastleManager.getInstance().getCastleByOwner(getClan()).giveResidentialSkills(this);
|
||||
final Castle castle = CastleManager.getInstance().getCastleByOwner(_clan);
|
||||
if (castle != null)
|
||||
{
|
||||
castle.giveResidentialSkills(this);
|
||||
}
|
||||
}
|
||||
if (_clan.getFortId() > 0)
|
||||
{
|
||||
FortManager.getInstance().getFortByOwner(getClan()).giveResidentialSkills(this);
|
||||
final Fort fort = FortManager.getInstance().getFortByOwner(_clan);
|
||||
if (fort != null)
|
||||
{
|
||||
fort.giveResidentialSkills(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,10 @@ import org.l2jmobius.gameserver.model.Party;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.siege.Castle;
|
||||
import org.l2jmobius.gameserver.model.siege.Fort;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.type.OlympiadStadiumZone;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@@ -209,18 +212,28 @@ public abstract class AbstractOlympiadGame
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
|
||||
// Remove Clan Skills
|
||||
if (player.getClan() != null)
|
||||
final Clan clan = player.getClan();
|
||||
if (clan != null)
|
||||
{
|
||||
player.getClan().removeSkillEffects(player);
|
||||
if (player.getClan().getCastleId() > 0)
|
||||
clan.removeSkillEffects(player);
|
||||
if (clan.getCastleId() > 0)
|
||||
{
|
||||
CastleManager.getInstance().getCastleByOwner(player.getClan()).removeResidentialSkills(player);
|
||||
final Castle castle = CastleManager.getInstance().getCastleByOwner(clan);
|
||||
if (castle != null)
|
||||
{
|
||||
castle.removeResidentialSkills(player);
|
||||
}
|
||||
}
|
||||
if (player.getClan().getFortId() > 0)
|
||||
if (clan.getFortId() > 0)
|
||||
{
|
||||
FortManager.getInstance().getFortByOwner(player.getClan()).removeResidentialSkills(player);
|
||||
final Fort fort = FortManager.getInstance().getFortByOwner(clan);
|
||||
if (fort != null)
|
||||
{
|
||||
fort.removeResidentialSkills(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Abort casting if player casting
|
||||
player.abortAttack();
|
||||
player.abortCast();
|
||||
@@ -360,16 +373,25 @@ public abstract class AbstractOlympiadGame
|
||||
player.setOlympiadGameId(-1);
|
||||
|
||||
// Add Clan Skills
|
||||
if (player.getClan() != null)
|
||||
final Clan clan = player.getClan();
|
||||
if (clan != null)
|
||||
{
|
||||
player.getClan().addSkillEffects(player);
|
||||
if (player.getClan().getCastleId() > 0)
|
||||
clan.addSkillEffects(player);
|
||||
if (clan.getCastleId() > 0)
|
||||
{
|
||||
CastleManager.getInstance().getCastleByOwner(player.getClan()).giveResidentialSkills(player);
|
||||
final Castle castle = CastleManager.getInstance().getCastleByOwner(clan);
|
||||
if (castle != null)
|
||||
{
|
||||
castle.giveResidentialSkills(player);
|
||||
}
|
||||
}
|
||||
if (player.getClan().getFortId() > 0)
|
||||
if (clan.getFortId() > 0)
|
||||
{
|
||||
FortManager.getInstance().getFortByOwner(player.getClan()).giveResidentialSkills(player);
|
||||
final Fort fort = FortManager.getInstance().getFortByOwner(clan);
|
||||
if (fort != null)
|
||||
{
|
||||
fort.giveResidentialSkills(player);
|
||||
}
|
||||
}
|
||||
player.sendSkillList();
|
||||
}
|
||||
|
||||
@@ -21,6 +21,8 @@ import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
import org.l2jmobius.gameserver.model.siege.Castle;
|
||||
import org.l2jmobius.gameserver.model.siege.Fort;
|
||||
import org.l2jmobius.gameserver.network.GameClient;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.JoinPledge;
|
||||
@@ -99,13 +101,21 @@ public class RequestAnswerJoinPledge implements IClientIncomingPacket
|
||||
sm.addString(player.getName());
|
||||
clan.broadcastToOnlineMembers(sm);
|
||||
|
||||
if (player.getClan().getCastleId() > 0)
|
||||
if (clan.getCastleId() > 0)
|
||||
{
|
||||
CastleManager.getInstance().getCastleByOwner(player.getClan()).giveResidentialSkills(player);
|
||||
final Castle castle = CastleManager.getInstance().getCastleByOwner(clan);
|
||||
if (castle != null)
|
||||
{
|
||||
castle.giveResidentialSkills(player);
|
||||
}
|
||||
}
|
||||
if (player.getClan().getFortId() > 0)
|
||||
if (clan.getFortId() > 0)
|
||||
{
|
||||
FortManager.getInstance().getFortByOwner(player.getClan()).giveResidentialSkills(player);
|
||||
final Fort fort = FortManager.getInstance().getFortByOwner(clan);
|
||||
if (fort != null)
|
||||
{
|
||||
fort.giveResidentialSkills(player);
|
||||
}
|
||||
}
|
||||
player.sendSkillList();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user