Addition of isSiegeFriend method.
Contributed by Sahar.
This commit is contained in:
parent
6e1df8a43a
commit
6e64ab3dfd
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1655,6 +1655,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5190,7 +5225,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1661,6 +1661,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5196,7 +5231,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1663,6 +1663,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5198,7 +5233,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1674,6 +1674,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5193,7 +5228,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1667,6 +1667,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5172,7 +5207,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1667,6 +1667,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5172,7 +5207,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1667,6 +1667,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5173,7 +5208,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -950,7 +950,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1672,6 +1672,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5093,7 +5128,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -935,7 +935,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
|
@ -53,7 +53,6 @@ import org.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneRegion;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.AbstractNpcInfo.SummonInfo;
|
||||
@ -680,7 +679,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == _owner.getSiegeState()) && (target.getActingPlayer() != _owner) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
@ -1019,7 +1018,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
|
@ -1618,6 +1618,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -8928,7 +8963,7 @@ public class PlayerInstance extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getSiegeSide()))
|
||||
if (isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
@ -9151,18 +9186,10 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
|
||||
// Siege
|
||||
if ((getSiegeState() != 0) && (targetPlayer.getSiegeState() != 0))
|
||||
if (isSiegeFriend(targetPlayer))
|
||||
{
|
||||
// Register for same siege
|
||||
if (getSiegeSide() == targetPlayer.getSiegeSide())
|
||||
{
|
||||
// Same side
|
||||
if (getSiegeState() == targetPlayer.getSiegeState())
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Party
|
||||
|
@ -936,7 +936,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
|
@ -53,7 +53,6 @@ import org.l2jmobius.gameserver.model.items.type.ActionType;
|
||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadGameManager;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneRegion;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.AbstractNpcInfo.SummonInfo;
|
||||
@ -680,7 +679,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == _owner.getSiegeState()) && (target.getActingPlayer() != _owner) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
@ -1019,7 +1018,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
|
@ -1641,6 +1641,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -8807,7 +8842,7 @@ public class PlayerInstance extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getSiegeSide()))
|
||||
if (isSiegeFriend(target))
|
||||
{
|
||||
if (TerritoryWarManager.getInstance().isTWInProgress())
|
||||
{
|
||||
@ -9030,18 +9065,10 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
|
||||
// Siege
|
||||
if ((getSiegeState() != 0) && (targetPlayer.getSiegeState() != 0))
|
||||
if (isSiegeFriend(targetPlayer))
|
||||
{
|
||||
// Register for same siege
|
||||
if (getSiegeSide() == targetPlayer.getSiegeSide())
|
||||
{
|
||||
// Same side
|
||||
if (getSiegeState() == targetPlayer.getSiegeState())
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Party
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -949,7 +949,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1636,6 +1636,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5161,7 +5196,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class NotFriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -949,7 +949,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
else if ((target.getActingPlayer() != null) && (getActingPlayer().getSiegeState() > 0) && isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == getActingPlayer().getSiegeState()) && (target.getActingPlayer() != this) && (target.getActingPlayer().getSiegeSide() == getActingPlayer().getSiegeSide()))
|
||||
else if (getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1004,7 +1004,7 @@ public abstract class Summon extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (_owner.getSiegeState() > 0) && _owner.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeSide() == _owner.getSiegeSide()))
|
||||
if (_owner.isSiegeFriend(target))
|
||||
{
|
||||
sendPacket(SystemMessageId.FORCE_ATTACK_IS_IMPOSSIBLE_AGAINST_A_TEMPORARY_ALLIED_MEMBER_DURING_A_SIEGE);
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
@ -1637,6 +1637,41 @@ public class PlayerInstance extends Playable
|
||||
return _siegeSide;
|
||||
}
|
||||
|
||||
public boolean isSiegeFriend(WorldObject target)
|
||||
{
|
||||
// If i'm natural or not in siege zone, not friends.
|
||||
if ((_siegeState == 0) || !isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If target isn't a player, is self, isn't on same siege or not on same state, not friends.
|
||||
final PlayerInstance targetPlayer = target.getActingPlayer();
|
||||
if ((targetPlayer == null) || (targetPlayer == this) || (targetPlayer.getSiegeSide() != _siegeSide) || (_siegeState != targetPlayer.getSiegeState()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackers are considered friends only if castle has no owner.
|
||||
if (_siegeState == 1)
|
||||
{
|
||||
final Castle castle = CastleManager.getInstance().getCastleById(_siegeSide);
|
||||
if (castle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (castle.getOwner() == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both are defenders, friends.
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the PvP Flag of the PlayerInstance.
|
||||
* @param pvpFlag
|
||||
@ -5162,7 +5197,7 @@ public class PlayerInstance extends Playable
|
||||
// If both players are in SIEGE zone just increase siege kills/deaths
|
||||
if (isInsideZone(ZoneId.SIEGE) && killedPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState()))
|
||||
if (!isSiegeFriend(killedPlayer))
|
||||
{
|
||||
final Clan targetClan = killedPlayer.getClan();
|
||||
if ((_clan != null) && (targetClan != null))
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class Enemy implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if (forceUse && (target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@ -127,7 +126,7 @@ public class EnemyOnly implements ITargetTypeHandler
|
||||
// Is this check still actual?
|
||||
if ((target.getActingPlayer() != null) && (creature.getActingPlayer() != null))
|
||||
{
|
||||
if ((creature.getActingPlayer().getSiegeState() > 0) && creature.isInsideZone(ZoneId.SIEGE) && (target.getActingPlayer().getSiegeState() == creature.getActingPlayer().getSiegeState()) && (target.getActingPlayer() != creature.getActingPlayer()) && (target.getActingPlayer().getSiegeSide() == creature.getActingPlayer().getSiegeSide()))
|
||||
if (creature.getActingPlayer().isSiegeFriend(target))
|
||||
{
|
||||
if (sendMessage)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ public class Friend implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class FriendPc implements IAffectObjectHandler
|
||||
if (target.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
// Players in the same siege side at the same castle are considered friends.
|
||||
if ((player.getSiegeState() > 0) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isSiegeFriend(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user