Fixed capturing holy artefact under the shrine.
Thanks to Sahar.
This commit is contained in:
parent
7ba832c6a7
commit
6e1df8a43a
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -356,7 +356,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor())
|
||||
if (target.isDoor() || target.isArtefact())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ public class TakeCastle implements ISkillHandler
|
||||
{
|
||||
sm.addString("You must be on castle ground to use this skill");
|
||||
}
|
||||
else if ((player.getTarget() == null) || !(player.getTarget() instanceof ArtefactInstance))
|
||||
else if ((player.getTarget() == null) || !player.getTarget().isArtefact())
|
||||
{
|
||||
sm.addString("You can only use this skill on an artifact");
|
||||
}
|
||||
@ -142,7 +142,7 @@ public class TakeCastle implements ISkillHandler
|
||||
{
|
||||
sm.addString("You can only use this skill during a siege.");
|
||||
}
|
||||
else if (!Util.checkIfInRange(200, player, player.getTarget(), true))
|
||||
else if (!Util.checkIfInRange(200, player, player.getTarget(), true) || (Math.abs(player.getZ() - player.getTarget().getZ()) > 40))
|
||||
{
|
||||
sm.addString("You are not in range of the artifact.");
|
||||
}
|
||||
@ -186,7 +186,7 @@ public class TakeCastle implements ISkillHandler
|
||||
{
|
||||
sm.addString("You must be on fort ground to use this skill");
|
||||
}
|
||||
else if ((player.getTarget() == null) && !(player.getTarget() instanceof ArtefactInstance))
|
||||
else if ((player.getTarget() == null) && !player.getTarget().isArtefact())
|
||||
{
|
||||
sm.addString("You can only use this skill on an flagpole");
|
||||
}
|
||||
|
@ -47,10 +47,12 @@ public class ArtefactInstance extends NpcInstance
|
||||
super(objectId, template);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.<BR>
|
||||
* <BR>
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
@ -122,10 +124,4 @@ public class ArtefactInstance extends NpcInstance
|
||||
{
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
|
||||
@ -31,7 +30,7 @@ public class Holy implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
|
||||
{
|
||||
if (!(target instanceof ArtefactInstance))
|
||||
if ((target == null) || !target.isArtefact())
|
||||
{
|
||||
return EMPTY_TARGET_LIST;
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -294,6 +294,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -42,9 +42,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ public class ConditionPlayerCanTakeCastle extends Condition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
return false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, effected, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, effected, true) || (Math.abs(player.getZ() - effected.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
return false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
|
||||
@ -31,7 +30,7 @@ public class Holy implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
|
||||
{
|
||||
if (!(target instanceof ArtefactInstance))
|
||||
if ((target == null) || !target.isArtefact())
|
||||
{
|
||||
return EMPTY_TARGET_LIST;
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -294,6 +294,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -42,9 +42,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ public class ConditionPlayerCanTakeCastle extends Condition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
return false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, effected, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, effected, true) || (Math.abs(player.getZ() - effected.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||
return false;
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
||||
*/
|
||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||
{
|
||||
if (target.isDoor() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
if (target.isDoor() || target.isArtefact() || (target.isCreature() && ((Creature) target).isFlying()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of ArtefactInstance.
|
||||
* @return {@code true} if object is instance of ArtefactInstance, {@code false} otherwise
|
||||
*/
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if object is instance of MonsterInstance.
|
||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
||||
getCastle().registerArtefact(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return False.
|
||||
*/
|
||||
@Override
|
||||
public boolean isArtefact()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(Creature attacker)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FishermanInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||
&& !results.contains(obj.getId()))
|
||||
{
|
||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
||||
{
|
||||
if (obj.isNpc() //
|
||||
&& !obj.isMonster() //
|
||||
&& !(obj.isArtefact()) //
|
||||
&& !(obj instanceof ObservationInstance) //
|
||||
&& !(obj instanceof ArtefactInstance) //
|
||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||
{
|
||||
final Npc npc = (Npc) obj;
|
||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
canTakeCastle = false;
|
||||
}
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true))
|
||||
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||
canTakeCastle = false;
|
||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ArtefactInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
||||
@Override
|
||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
||||
{
|
||||
if (creature.getTarget() instanceof ArtefactInstance)
|
||||
final WorldObject target = creature.getTarget();
|
||||
if ((target != null) && target.isArtefact())
|
||||
{
|
||||
return creature.getTarget();
|
||||
return target;
|
||||
}
|
||||
|
||||
if (sendMessage)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user