summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-10-20 18:29:10 -0300
committerJesusaves <cpntb1@ymail.com>2019-10-20 18:29:10 -0300
commit3216025edc23a371baa596c23288ac3467630282 (patch)
treeb14f43b4cab69031103acbd28f19a1c632116a48
parent7b7ff83feaef6e5a94889e3dc506f1518733c2ca (diff)
downloadplugin-3216025edc23a371baa596c23288ac3467630282.tar.gz
plugin-3216025edc23a371baa596c23288ac3467630282.tar.bz2
plugin-3216025edc23a371baa596c23288ac3467630282.tar.xz
plugin-3216025edc23a371baa596c23288ac3467630282.zip
Add a function to retrieve EXP tax for a certain guild role,
and another function to retrieve the role title. (I think the role title function may be used more times, as it makes prettier scripts)
-rw-r--r--src/emap/init.c2
-rw-r--r--src/emap/script_buildins.c48
-rw-r--r--src/emap/script_buildins.h2
3 files changed, 52 insertions, 0 deletions
diff --git a/src/emap/init.c b/src/emap/init.c
index 0e83b9a..0837489 100644
--- a/src/emap/init.c
+++ b/src/emap/init.c
@@ -210,6 +210,8 @@ HPExport void plugin_init (void)
addScriptCommand("getitemoptionparambyindex", "ii", getItemOptionParamByIndex);
addScriptCommand("setitemoptionbyindex", "iii*", setItemOptionByIndex);
addScriptCommand("isinstance", "i", isInstance);
+ addScriptCommand("getguildpostax","ii",getguildpostax);
+ addScriptCommand("getguildpostitle","ii",getguildpostitle);
do_init_langs();
diff --git a/src/emap/script_buildins.c b/src/emap/script_buildins.c
index c0a7e1b..a47049a 100644
--- a/src/emap/script_buildins.c
+++ b/src/emap/script_buildins.c
@@ -2348,3 +2348,51 @@ BUILDIN(isInstance)
script_pushint(st, instance->valid(instance_id) ? 1 : 0);
return true;
}
+
+
+/*==========================================
+ * Return the EXP tax for (guild, position)
+ * -1 if not found
+ *------------------------------------------*/
+BUILDIN(getguildpostax)
+{
+ int guild_id, gpos;
+ struct guild* g;
+
+ guild_id = script_getnum(st,2);
+ gpos = script_getnum(st,3);
+
+ if( ( g = guild->search(guild_id) ) != NULL )
+ {
+ script_pushint(st,g->position[gpos].exp_mode);
+ }
+ else
+ {
+ script_pushint(st,-1);
+ }
+ return true;
+}
+
+
+/*==========================================
+ * Return the title (guild, position)
+ * "" if not found
+ *------------------------------------------*/
+BUILDIN(getguildpostitle)
+{
+ int guild_id, gpos;
+ struct guild* g;
+
+ guild_id = script_getnum(st,2);
+ gpos = script_getnum(st,3);
+
+ if( ( g = guild->search(guild_id) ) != NULL )
+ {
+ script_pushstrcopy(st, g->position[gpos].name);
+ }
+ else
+ {
+ script_pushstr(st,"");
+ }
+ return true;
+}
diff --git a/src/emap/script_buildins.h b/src/emap/script_buildins.h
index fab271e..87d63f8 100644
--- a/src/emap/script_buildins.h
+++ b/src/emap/script_buildins.h
@@ -99,5 +99,7 @@ BUILDIN(getItemOptionValueByIndex);
BUILDIN(getItemOptionParamByIndex);
BUILDIN(setItemOptionByIndex);
BUILDIN(isInstance);
+BUILDIN(getguildpostax);
+BUILDIN(getguildpostitle);
#endif // EVOL_MAP_SCRIPT_BUILDINS