From b100da096172b6b548271572d2588f8068aaf603 Mon Sep 17 00:00:00 2001 From: David Adam <zanchey@ucc.gu.uwa.edu.au> Date: Tue, 9 Jul 2024 20:46:44 +0800 Subject: [PATCH] server: don't report door as error status Even if a user is in door, the fact that it is priced as zero means it is always reported as being in error state, and it cannot be selected by clients from the menu. Hack around this with strcmp. --- src/server/server.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/server.c b/src/server/server.c index 76b3b44..61a0f15 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -773,7 +773,8 @@ void Server_int_SendItem(tClient *Client, tItem *Item) } } - if( !gbNoCostMode && Item->Price == 0 ) + // door costs 0 to dispense, which is not an error; other items must have a price + if( !gbNoCostMode && Item->Price == 0 && (strcmp(Item->Handler->Name, "door") != 0) ) status = "error"; // KNOWN HACK: Naming a slot 'dead' disables it if( strcmp(Item->Name, "dead") == 0 ) -- GitLab