summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/chat.c7
-rw-r--r--src/map/clif.c3
-rw-r--r--src/map/script.c5
3 files changed, 13 insertions, 2 deletions
diff --git a/src/map/chat.c b/src/map/chat.c
index a466424d4..2572e5083 100644
--- a/src/map/chat.c
+++ b/src/map/chat.c
@@ -4,6 +4,7 @@
#include "../common/cbasetypes.h"
#include "../common/malloc.h"
#include "../common/nullpo.h"
+#include "../common/showmsg.h"
#include "../common/strlib.h"
#include "atcommand.h" // msg_txt()
#include "battle.h" // struct battle_config
@@ -293,6 +294,12 @@ int chat_createnpcchat(struct npc_data* nd, const char* title, int limit, bool p
struct chat_data* cd;
nullpo_retr(0, nd);
+ if( nd->chat_id )
+ {
+ ShowError("chat_createnpcchat: npc '%s' already has a chatroom, cannot create new one!\n", nd->exname);
+ return 0;
+ }
+
cd = chat_createchat(&nd->bl, title, "", limit, pub, trigger, ev);
if( cd )
{
diff --git a/src/map/clif.c b/src/map/clif.c
index 120db10f6..3ae69e326 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -1328,9 +1328,10 @@ void clif_changemapserver(struct map_session_data* sd, unsigned short map_index,
void clif_blown(struct block_list *bl)
{
//Aegis packets says fixpos, but it's unsure whether slide works better or not.
-// return clif_fixpos(bl);
+// clif_fixpos(bl);
clif_slide(bl, bl->x, bl->y);
}
+
/*==========================================
*
*------------------------------------------*/
diff --git a/src/map/script.c b/src/map/script.c
index ceb0dab50..b7367c8fe 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -8461,8 +8461,11 @@ BUILDIN_FUNC(waitingroom)
ev = script_getstr(st, 4);
trigger = limit;
}
- if( (nd=(struct npc_data *)map_id2bl(st->oid)) != NULL )
+
+ nd = (struct npc_data *)map_id2bl(st->oid);
+ if( nd != NULL )
chat_createnpcchat(nd, title, limit, pub, trigger, ev);
+
return 0;
}