Fixed summoning bug where pets could get stuck until relog

This commit is contained in:
Ceikry
2023-09-05 13:59:54 +00:00
committed by Ryan
parent ee94ba03c2
commit a26c886586
2 changed files with 7 additions and 1 deletions
@@ -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) {