From 97df01a69aa790ced8ecb90024ff646e1d9a4083 Mon Sep 17 00:00:00 2001
From: Murilo_Bio <murilopereti@gmail.com>
Date: Mon, 18 Sep 2017 19:53:38 -0400
Subject: allow buildin_getgroupid to take a GID

---
 src/map/script.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

(limited to 'src')

diff --git a/src/map/script.c b/src/map/script.c
index 8ddb056bd..533e421d8 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -9967,14 +9967,22 @@ BUILDIN(setgroupid) {
 
 /// Returns the group ID of the player.
 ///
-/// getgroupid() -> <int>
-BUILDIN(getgroupid)
-{
-	struct map_session_data *sd = script->rid2sd(st);
-	if (sd == NULL)
+/// getgroupid({<account id>}) -> <int>
+BUILDIN(getgroupid) {
+	struct map_session_data *sd = NULL;
+
+	if (script_hasdata(st, 2)) {
+		sd = map->id2sd(script_getnum(st, 2));
+	} else {
+		sd = script->rid2sd(st);
+	}
+
+	if (sd == NULL) {
+		script_pushint(st, -1);
 		return true; // no player attached, report source
-	script_pushint(st, pc_get_group_id(sd));
+	}
 
+	script_pushint(st, pc_get_group_id(sd));
 	return true;
 }
 
@@ -23861,7 +23869,7 @@ void script_parse_builtin(void) {
 		BUILDIN_DEF(basicskillcheck,""),
 		BUILDIN_DEF(getgmlevel,""),
 		BUILDIN_DEF(setgroupid, "i?"),
-		BUILDIN_DEF(getgroupid,""),
+		BUILDIN_DEF(getgroupid,"?"),
 		BUILDIN_DEF(end,""),
 		BUILDIN_DEF(checkoption,"i?"),
 		BUILDIN_DEF(setoption,"i??"),
-- 
cgit v1.2.3-70-g09d2