From e8adea6f0cbad25b5ac21944b16099cce155d050 Mon Sep 17 00:00:00 2001
From: Matheus Macabu <mkbu95@gmail.com>
Date: Thu, 4 Jul 2013 19:19:52 -0300
Subject: Implemented sitting set of script commands: sit(), stand(), issit()
 as per suggested in topic #1204. See documentation for more information on
 these commands.

Also fixed leftover from db_use_sql split.

Signed-off-by: Matheus Macabu <mkbu95@gmail.com>
---
 src/map/mob.c    |  3 +++
 src/map/script.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)

(limited to 'src')

diff --git a/src/map/mob.c b/src/map/mob.c
index ad3dd50c3..7482a9d56 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -4591,6 +4591,9 @@ static void mob_load(void)
 	if (iMap->db_use_sql_mob_db)
 	{
 		mob_read_sqldb();
+	}
+	if (iMap->db_use_sql_mob_skill_db)
+	{
 		mob_read_sqlskilldb();
 	}
 	else
diff --git a/src/map/script.c b/src/map/script.c
index 4a90290cf..3ba8ea9fc 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -16679,6 +16679,61 @@ BUILDIN(freeloop) {
 	return true;
 }
 
+BUILDIN(sit)
+{
+	struct map_session_data *sd = NULL;
+	
+	if (script_hasdata(st, 2))
+		sd = iMap->nick2sd(script_getstr(st, 2));
+	
+	if (sd == NULL)
+		sd = script_rid2sd(st);
+
+	if (!pc_issit(sd))
+	{
+		pc_setsit(sd);
+		skill->sit(sd,1);
+		clif->sitting(&sd->bl);
+	}
+	return true;
+}
+
+BUILDIN(stand)
+{
+	struct map_session_data *sd = NULL;
+	
+	if (script_hasdata(st, 2))
+		sd = iMap->nick2sd(script_getstr(st, 2));
+	
+	if (sd == NULL)
+		sd = script_rid2sd(st);
+	
+	if (pc_issit(sd))
+	{
+		pc->setstand(sd);
+		skill->sit(sd,0);
+		clif->standing(&sd->bl);
+	}
+	return true;
+}
+
+BUILDIN(issit)
+{
+	struct map_session_data *sd = NULL;
+	
+	if (script_hasdata(st, 2))
+		sd = iMap->nick2sd(script_getstr(st, 2));
+	
+	if (sd == NULL)
+		sd = script_rid2sd(st);
+
+	if (pc_issit(sd))
+		script_pushint(st, 1);
+	else
+		script_pushint(st, 0);
+	return true;
+}
+
 /**
  * @commands (script based)
  **/
@@ -17962,6 +18017,10 @@ void script_parse_builtin(void) {
 		
 		BUILDIN_DEF(packageitem,"?"),
 		
+		BUILDIN_DEF(sit, "?"),
+		BUILDIN_DEF(stand, "?"),
+		BUILDIN_DEF(issit, "?"),
+		
 		/* New BG Commands [Hercules] */
 		BUILDIN_DEF(bg_create_team,"sii"),
 		BUILDIN_DEF(bg_join_team,"i?"),
-- 
cgit v1.2.3-70-g09d2