Fixed summoning bug where pets could get stuck until relog
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import content.global.skill.summoning.familiar.BurdenBeast
|
import content.global.skill.summoning.familiar.BurdenBeast
|
||||||
import content.global.skill.summoning.familiar.FamiliarSpecial
|
import content.global.skill.summoning.familiar.FamiliarSpecial
|
||||||
|
import core.api.sendMessage
|
||||||
import core.game.interaction.InterfaceListener
|
import core.game.interaction.InterfaceListener
|
||||||
|
|
||||||
class SummoningTabListener : InterfaceListener {
|
class SummoningTabListener : InterfaceListener {
|
||||||
@@ -15,6 +16,10 @@ class SummoningTabListener : InterfaceListener {
|
|||||||
}
|
}
|
||||||
67 -> {
|
67 -> {
|
||||||
if (player.getFamiliarManager().hasFamiliar()) {
|
if (player.getFamiliarManager().hasFamiliar()) {
|
||||||
|
if (player.familiarManager.familiar.isInvisible || !player.familiarManager.familiar.location.withinDistance(player.location)) {
|
||||||
|
sendMessage(player, "Your familiar is too far away!")
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
if (!player.getFamiliarManager().getFamiliar().isBurdenBeast()) {
|
if (!player.getFamiliarManager().getFamiliar().isBurdenBeast()) {
|
||||||
player.getPacketDispatch().sendMessage("Your familiar is not a beast of burden.")
|
player.getPacketDispatch().sendMessage("Your familiar is not a beast of burden.")
|
||||||
return@on true
|
return@on true
|
||||||
|
|||||||
@@ -561,7 +561,8 @@ public abstract class Familiar extends NPC implements Plugin<Object> {
|
|||||||
//spamTimer = 50;
|
//spamTimer = 50;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
setInvisible(getZoneMonitor().isRestricted(ZoneRestriction.FOLLOWERS) && !owner.getLocks().isLocked("enable_summoning"));
|
setInvisible(owner.getZoneMonitor().isRestricted(ZoneRestriction.FOLLOWERS) && !owner.getLocks().isLocked("enable_summoning"));
|
||||||
|
if (isInvisible()) return true;
|
||||||
getProperties().setTeleportLocation(destination);
|
getProperties().setTeleportLocation(destination);
|
||||||
if (!(this instanceof Pet)) {
|
if (!(this instanceof Pet)) {
|
||||||
if(firstCall) {
|
if(firstCall) {
|
||||||
|
|||||||
Reference in New Issue
Block a user