From 2d6b63f05039a2ab08b533cd8c7049994f35c6cc Mon Sep 17 00:00:00 2001 From: Ty Conner Date: Thu, 24 Nov 2022 17:40:27 -0500 Subject: [PATCH] Add more IsOlthoiPlayer checks to recalls --- .../WorldObjects/Player_Location.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Source/ACE.Server/WorldObjects/Player_Location.cs b/Source/ACE.Server/WorldObjects/Player_Location.cs index 0f5544cfef..f75fd31b2f 100644 --- a/Source/ACE.Server/WorldObjects/Player_Location.cs +++ b/Source/ACE.Server/WorldObjects/Player_Location.cs @@ -198,6 +198,12 @@ public void HandleActionTeleToLifestone() public void HandleActionTeleToMarketPlace() { + if (IsOlthoiPlayer) + { + Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.OlthoiCanOnlyRecallToLifestone)); + return; + } + if (PKTimerActive) { Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.YouHaveBeenInPKBattleTooRecently)); @@ -261,6 +267,12 @@ public void HandleActionRecallAllegianceHometown() { //Console.WriteLine($"{Name}.HandleActionRecallAllegianceHometown()"); + if (IsOlthoiPlayer) + { + Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.OlthoiCanOnlyRecallToLifestone)); + return; + } + if (PKTimerActive) { Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.YouHaveBeenInPKBattleTooRecently)); @@ -348,6 +360,12 @@ public void HandleActionTeleToMansion() { //Console.WriteLine($"{Name}.HandleActionTeleToMansion()"); + if (IsOlthoiPlayer) + { + Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.OlthoiCanOnlyRecallToLifestone)); + return; + } + if (PKTimerActive) { Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.YouHaveBeenInPKBattleTooRecently)); @@ -541,6 +559,12 @@ public void HandleActionTeleToPklArena() { //Console.WriteLine($"{Name}.HandleActionTeleToPkLiteArena()"); + if (IsOlthoiPlayer) + { + Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.OlthoiCanOnlyRecallToLifestone)); + return; + } + if (PlayerKillerStatus != PlayerKillerStatus.PKLite) { Session.Network.EnqueueSend(new GameEventWeenieError(Session, WeenieError.OnlyPKLiteMayUseCommand));