Reworked leave olympiad observer mode.

This commit is contained in:
MobiusDevelopment
2022-01-19 22:46:13 +00:00
parent 0723e0e365
commit 173223bc61
6 changed files with 32 additions and 54 deletions

View File

@@ -127,7 +127,7 @@ public class AdminTest implements IAdminCommandHandler
}
else
{
activeChar.leaveOlympiadObserverMode();
activeChar.leaveOlympiadObserverMode(true);
}
}
else if (command.startsWith("admin_obs_mode"))

View File

@@ -10489,30 +10489,6 @@ public class Player extends Playable
}
}
/**
* Leave olympiad observer mode.
*/
public void leaveOlympiadObserverMode()
{
setTarget(null);
sendPacket(new ExOlympiadMode(0, this));
teleToLocation(_obsX, _obsY, _obsZ, true);
getAppearance().setVisible();
setInvul(false);
if (getAI() != null)
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
Olympiad.getInstance();
Olympiad.removeSpectator(_olympiadGameId, this);
_olympiadGameId = -1;
_observerMode = false;
if (!_wasInvisible)
{
broadcastUserInfo();
}
}
/**
* Update name title color.
*/
@@ -15211,6 +15187,11 @@ public class Player extends Playable
public void leaveOlympiadObserverMode(boolean olymp)
{
if (_olympiadGameId == -1)
{
return;
}
setTarget(null);
sendPacket(new ExOlympiadMode(0, this));
teleToLocation(_obsX, _obsY, _obsZ, true);
@@ -15230,9 +15211,17 @@ public class Player extends Playable
{
Olympiad.removeSpectator(_olympiadGameId, this);
}
_olympiadGameId = -1;
_observerMode = false;
broadcastUserInfo();
_obsX = getX();
_obsY = getY();
_obsZ = getZ();
if (!_wasInvisible)
{
broadcastUserInfo();
}
}
public void setHero(boolean hero)

View File

@@ -43,7 +43,7 @@ public class RequestOlympiadObserverEnd implements IClientIncomingPacket
if (player.inObserverMode())
{
player.leaveOlympiadObserverMode();
player.leaveOlympiadObserverMode(false);
}
}
}