Reverted session zone Die packet escape block.

Contributed by Enryu.
This commit is contained in:
MobiusDevelopment
2022-12-14 22:04:03 +00:00
parent 527e1b3f64
commit b20800bf21
8 changed files with 278 additions and 324 deletions

View File

@@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan; import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle; import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort; import org.l2jmobius.gameserver.model.siege.Fort;
@@ -44,6 +43,23 @@ public class Die extends ServerPacket
_isSweepable = creature.isAttackable() && creature.isSweepActive(); _isSweepable = creature.isAttackable() && creature.isSweepActive();
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final Clan clan = creature.getActingPlayer().getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId()) if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId())
@@ -53,48 +69,26 @@ public class Die extends ServerPacket
} }
} }
final Player player = creature.getActingPlayer(); // ClanHall check.
if (!player.isInTimedHuntingZone()) if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {

View File

@@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan; import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle; import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort; import org.l2jmobius.gameserver.model.siege.Fort;
@@ -44,6 +43,23 @@ public class Die extends ServerPacket
_isSweepable = creature.isAttackable() && creature.isSweepActive(); _isSweepable = creature.isAttackable() && creature.isSweepActive();
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final Clan clan = creature.getActingPlayer().getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId()) if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId())
@@ -53,48 +69,26 @@ public class Die extends ServerPacket
} }
} }
final Player player = creature.getActingPlayer(); // ClanHall check.
if (!player.isInTimedHuntingZone()) if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {

View File

@@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan; import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle; import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort; import org.l2jmobius.gameserver.model.siege.Fort;
@@ -44,6 +43,23 @@ public class Die extends ServerPacket
_isSweepable = creature.isAttackable() && creature.isSweepActive(); _isSweepable = creature.isAttackable() && creature.isSweepActive();
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final Clan clan = creature.getActingPlayer().getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId()) if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId())
@@ -53,48 +69,26 @@ public class Die extends ServerPacket
} }
} }
final Player player = creature.getActingPlayer(); // ClanHall check.
if (!player.isInTimedHuntingZone()) if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {

View File

@@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan; import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle; import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort; import org.l2jmobius.gameserver.model.siege.Fort;
@@ -44,6 +43,23 @@ public class Die extends ServerPacket
_isSweepable = creature.isAttackable() && creature.isSweepActive(); _isSweepable = creature.isAttackable() && creature.isSweepActive();
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final Clan clan = creature.getActingPlayer().getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId()) if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId())
@@ -53,48 +69,26 @@ public class Die extends ServerPacket
} }
} }
final Player player = creature.getActingPlayer(); // ClanHall check.
if (!player.isInTimedHuntingZone()) if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {

View File

@@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan; import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle; import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort; import org.l2jmobius.gameserver.model.siege.Fort;
@@ -44,6 +43,23 @@ public class Die extends ServerPacket
_isSweepable = creature.isAttackable() && creature.isSweepActive(); _isSweepable = creature.isAttackable() && creature.isSweepActive();
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final Clan clan = creature.getActingPlayer().getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId()) if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId())
@@ -53,48 +69,26 @@ public class Die extends ServerPacket
} }
} }
final Player player = creature.getActingPlayer(); // ClanHall check.
if (!player.isInTimedHuntingZone()) if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {

View File

@@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan; import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle; import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort; import org.l2jmobius.gameserver.model.siege.Fort;
@@ -44,6 +43,23 @@ public class Die extends ServerPacket
_isSweepable = creature.isAttackable() && creature.isSweepActive(); _isSweepable = creature.isAttackable() && creature.isSweepActive();
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final Clan clan = creature.getActingPlayer().getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId()) if (effect.getSkill().getId() == CommonSkill.FEATHER_OF_BLESSING.getId())
@@ -53,48 +69,26 @@ public class Die extends ServerPacket
} }
} }
final Player player = creature.getActingPlayer(); // ClanHall check.
if (!player.isInTimedHuntingZone()) if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {

View File

@@ -52,6 +52,22 @@ public class Die extends ServerPacket
if (creature.isPlayer()) if (creature.isPlayer())
{ {
_player = creature.getActingPlayer(); _player = creature.getActingPlayer();
final Clan clan = _player.getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
@@ -62,47 +78,26 @@ public class Die extends ServerPacket
} }
} }
if (!_player.isInTimedHuntingZone()) // ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = _player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {

View File

@@ -52,6 +52,22 @@ public class Die extends ServerPacket
if (creature.isPlayer()) if (creature.isPlayer())
{ {
_player = creature.getActingPlayer(); _player = creature.getActingPlayer();
final Clan clan = _player.getClan();
boolean isInCastleDefense = false;
boolean isInFortDefense = false;
SiegeClan siegeClan = null;
final Castle castle = CastleManager.getInstance().getCastle(creature);
final Fort fort = FortManager.getInstance().getFort(creature);
if ((castle != null) && castle.getSiege().isInProgress())
{
siegeClan = castle.getSiege().getAttackerClan(clan);
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan);
}
else if ((fort != null) && fort.getSiege().isInProgress())
{
siegeClan = fort.getSiege().getAttackerClan(clan);
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan);
}
for (BuffInfo effect : creature.getEffectList().getEffects()) for (BuffInfo effect : creature.getEffectList().getEffects())
{ {
@@ -62,47 +78,26 @@ public class Die extends ServerPacket
} }
} }
if (!_player.isInTimedHuntingZone()) // ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{ {
final Clan clan = _player.getClan(); _flags += 2;
boolean isInCastleDefense = false; }
boolean isInFortDefense = false; // Castle check.
SiegeClan siegeClan = null; if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
final Castle castle = CastleManager.getInstance().getCastle(creature); {
final Fort fort = FortManager.getInstance().getFort(creature); _flags += 4;
if ((castle != null) && castle.getSiege().isInProgress()) }
{ // Fortress check.
siegeClan = castle.getSiege().getAttackerClan(clan); if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
isInCastleDefense = (siegeClan == null) && castle.getSiege().checkIsDefender(clan); {
} _flags += 8;
else if ((fort != null) && fort.getSiege().isInProgress()) }
{ // Outpost check.
siegeClan = fort.getSiege().getAttackerClan(clan); if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
isInFortDefense = (siegeClan == null) && fort.getSiege().checkIsDefender(clan); {
} _flags += 16;
// ClanHall check.
if ((clan != null) && (clan.getHideoutId() > 0))
{
_flags += 2;
}
// Castle check.
if (((clan != null) && (clan.getCastleId() > 0)) || isInCastleDefense)
{
_flags += 4;
}
// Fortress check.
if (((clan != null) && (clan.getFortId() > 0)) || isInFortDefense)
{
_flags += 8;
}
// Outpost check.
if (((siegeClan != null) && !isInCastleDefense && !isInFortDefense && !siegeClan.getFlag().isEmpty()))
{
_flags += 16;
}
} }
// Feather check. // Feather check.
if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection()) if (creature.getAccessLevel().allowFixedRes() || creature.getInventory().haveItemForSelfResurrection())
{ {