瀏覽代碼

Added mercenary and elemental objects support for getmapxy.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16326 54d463be-8e91-2dee-dedb-b68131a5f0ec
greenboxal2 13 年之前
父節點
當前提交
66d5d750fe
共有 2 個文件被更改,包括 25 次插入1 次删除
  1. 4 1
      doc/script_commands.txt
  2. 21 0
      src/map/script.c

+ 4 - 1
doc/script_commands.txt

@@ -2766,7 +2766,10 @@ Type is the type of object to search for:
   0 - Character object
   1 - NPC object
   2 - Pet object
-  3 - Monster object.
+  3 - Monster object
+  4 - Homunculus object
+  5 - Mercenary object
+  6 - Elemental object
   
 While 3 is meant to look for a monster object, no searching will be done if you 
 specify type 3, and the function will always return -1.

+ 21 - 0
src/map/script.c

@@ -48,6 +48,7 @@
 #include "mail.h"
 #include "script.h"
 #include "quest.h"
+#include "elemental.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -12370,6 +12371,8 @@ BUILDIN_FUNC(getsavepoint)
   *                                2 - Pet coord
   *                                3 - Mob coord (not released)
   *                                4 - Homun coord
+  *                                5 - Mercenary coord
+  *                                6 - Elemental coord
   *                     CharName$ - Name object. If miss or "this" the current object
   *
   *             Return:
@@ -12447,6 +12450,24 @@ BUILDIN_FUNC(getmapxy)
 			if (sd && sd->hd)
 				bl = &sd->hd->bl;
 			break;
+		case 5: //Get Mercenary Position
+			if(script_hasdata(st,6))
+				sd=map_nick2sd(script_getstr(st,6));
+			else
+				sd=script_rid2sd(st);
+
+			if (sd && sd->md)
+				bl = &sd->md->bl;
+			break;
+		case 6: //Get Elemental Position
+			if(script_hasdata(st,6))
+				sd=map_nick2sd(script_getstr(st,6));
+			else
+				sd=script_rid2sd(st);
+
+			if (sd && sd->ed)
+				bl = &sd->ed->bl;
+			break;
 		default:
 			ShowWarning("script: buildin_getmapxy: Invalid type %d\n", type);
 			script_pushint(st,-1);