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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
public boolean isAutoAttackable(Creature attacker)
|
||||||
{
|
{
|
||||||
|
@ -356,7 +356,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
||||||
{
|
{
|
||||||
if (target.isDoor())
|
if (target.isDoor() || target.isArtefact())
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ public class TakeCastle implements ISkillHandler
|
|||||||
{
|
{
|
||||||
sm.addString("You must be on castle ground to use this skill");
|
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");
|
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.");
|
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.");
|
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");
|
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");
|
sm.addString("You can only use this skill on an flagpole");
|
||||||
}
|
}
|
||||||
|
@ -47,10 +47,12 @@ public class ArtefactInstance extends NpcInstance
|
|||||||
super(objectId, template);
|
super(objectId, template);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.<BR>
|
public boolean isArtefact()
|
||||||
* <BR>
|
{
|
||||||
*/
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
public boolean isAutoAttackable(Creature attacker)
|
||||||
{
|
{
|
||||||
@ -122,10 +124,4 @@ public class ArtefactInstance extends NpcInstance
|
|||||||
{
|
{
|
||||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
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.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
|
|
||||||
@ -31,7 +30,7 @@ public class Holy implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
|
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
|
||||||
{
|
{
|
||||||
if (!(target instanceof ArtefactInstance))
|
if ((target == null) || !target.isArtefact())
|
||||||
{
|
{
|
||||||
return EMPTY_TARGET_LIST;
|
return EMPTY_TARGET_LIST;
|
||||||
}
|
}
|
||||||
|
@ -356,7 +356,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -294,6 +294,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -42,9 +42,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
public boolean isAutoAttackable(Creature attacker)
|
||||||
{
|
{
|
||||||
|
@ -61,7 +61,7 @@ public class ConditionPlayerCanTakeCastle extends Condition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
return false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
return false;
|
return false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
|
|
||||||
@ -31,7 +30,7 @@ public class Holy implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
|
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
|
||||||
{
|
{
|
||||||
if (!(target instanceof ArtefactInstance))
|
if ((target == null) || !target.isArtefact())
|
||||||
{
|
{
|
||||||
return EMPTY_TARGET_LIST;
|
return EMPTY_TARGET_LIST;
|
||||||
}
|
}
|
||||||
|
@ -356,7 +356,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -294,6 +294,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -42,9 +42,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
public boolean isAutoAttackable(Creature attacker)
|
||||||
{
|
{
|
||||||
|
@ -61,7 +61,7 @@ public class ConditionPlayerCanTakeCastle extends Condition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
return false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
|
||||||
return false;
|
return false;
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
|||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
if (sendMessage)
|
||||||
|
@ -358,7 +358,7 @@ public class GeoEngine
|
|||||||
*/
|
*/
|
||||||
public boolean canSeeTarget(WorldObject origin, WorldObject target)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -292,6 +292,15 @@ public abstract class WorldObject extends ListenersContainer implements IIdentif
|
|||||||
return false;
|
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.
|
* Verify if object is instance of MonsterInstance.
|
||||||
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
* @return {@code true} if object is instance of MonsterInstance, {@code false} otherwise
|
||||||
|
@ -54,9 +54,12 @@ public class ArtefactInstance extends Npc
|
|||||||
getCastle().registerArtefact(this);
|
getCastle().registerArtefact(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Return False.
|
public boolean isArtefact()
|
||||||
*/
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAutoAttackable(Creature attacker)
|
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.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
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.FishermanInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FlyTerrainObjectInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GuardInstance;
|
||||||
@ -70,8 +69,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -105,8 +104,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance) //
|
&& !(obj instanceof FlyTerrainObjectInstance) //
|
||||||
&& !results.contains(obj.getId()))
|
&& !results.contains(obj.getId()))
|
||||||
{
|
{
|
||||||
@ -138,8 +137,8 @@ public class AdminMissingHtmls implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
if (obj.isNpc() //
|
if (obj.isNpc() //
|
||||||
&& !obj.isMonster() //
|
&& !obj.isMonster() //
|
||||||
|
&& !(obj.isArtefact()) //
|
||||||
&& !(obj instanceof ObservationInstance) //
|
&& !(obj instanceof ObservationInstance) //
|
||||||
&& !(obj instanceof ArtefactInstance) //
|
|
||||||
&& !(obj instanceof FlyTerrainObjectInstance))
|
&& !(obj instanceof FlyTerrainObjectInstance))
|
||||||
{
|
{
|
||||||
final Npc npc = (Npc) obj;
|
final Npc npc = (Npc) obj;
|
||||||
|
@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
|
|||||||
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
player.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||||
canTakeCastle = false;
|
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);
|
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
|
||||||
canTakeCastle = false;
|
canTakeCastle = false;
|
||||||
|
@ -19,7 +19,6 @@ package handlers.targethandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
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.Skill;
|
||||||
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
import org.l2jmobius.gameserver.model.skills.targets.TargetType;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -39,9 +38,10 @@ public class HolyThing implements ITargetTypeHandler
|
|||||||
@Override
|
@Override
|
||||||
public WorldObject getTarget(Creature creature, WorldObject selectedTarget, Skill skill, boolean forceUse, boolean dontMove, boolean sendMessage)
|
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)
|
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