summaryrefslogtreecommitdiff
path: root/src/emap/scriptdefines.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emap/scriptdefines.h')
-rw-r--r--src/emap/scriptdefines.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/emap/scriptdefines.h b/src/emap/scriptdefines.h
new file mode 100644
index 0000000..1a6cf14
--- /dev/null
+++ b/src/emap/scriptdefines.h
@@ -0,0 +1,55 @@
+// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+// Copyright (c) 2014 Evol developers
+
+#ifndef EVOL_MAP_SCRIPTDEFINES
+#define EVOL_MAP_SCRIPTDEFINES
+
+#define getSessionDataReturn(def) \
+ if (!st->rid) \
+ { \
+ script_pushint(st, def); \
+ return true; \
+ } \
+ TBL_PC *sd = script->rid2sd(st); \
+ if (!sd) \
+ { \
+ script_pushint(st, def); \
+ return true; \
+ } \
+ struct SessionExt *data = session_get(sd->fd)
+
+#define getSessionData() \
+ if (!st->rid) \
+ return true; \
+ TBL_PC *sd = script->rid2sd(st); \
+ if (!sd) \
+ return true; \
+ struct SessionExt *data = session_get(sd->fd)
+
+#define getMapData(m) \
+ struct MapdExt *mapData = mapd_get(m); \
+ if (!mapData) \
+ return true;
+
+#define getMapDataReturn(m, def) \
+ struct MapdExt *mapData = mapd_get(m); \
+ if (!mapData) \
+ { \
+ script_pushint(st, def); \
+ return true; \
+ }
+
+#define getSD() \
+ TBL_PC *sd = script->rid2sd(st); \
+ if (!sd) \
+ return true
+
+#define getSDReturn(def) \
+ TBL_PC *sd = script->rid2sd(st); \
+ if (!sd) \
+ { \
+ script_pushint(st, def); \
+ return true; \
+ }
+
+#endif // EVOL_MAP_SCRIPTDEFINES