summaryrefslogtreecommitdiff
path: root/tools/jsonproc/jsonproc.cpp
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-09-04 16:50:39 -0400
committerGitHub <noreply@github.com>2019-09-04 16:50:39 -0400
commit36723a235ad5ee101264549611a31cf05f2aff72 (patch)
treeabb571e8e399ecb6089d2872a2052829a9c88093 /tools/jsonproc/jsonproc.cpp
parenta4270cfdae82c96a20ed60ca1daa30ff6845c08c (diff)
parent08a3ff77dd845a7b1d6debfeb7bd8408aacd12f4 (diff)
Merge pull request #735 from garakmon/encounter_json
Add Different Field Info to Wild Encounters JSON
Diffstat (limited to 'tools/jsonproc/jsonproc.cpp')
-rwxr-xr-xtools/jsonproc/jsonproc.cpp34
1 files changed, 31 insertions, 3 deletions
diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp
index efe48f39f..15eae9dcb 100755
--- a/tools/jsonproc/jsonproc.cpp
+++ b/tools/jsonproc/jsonproc.cpp
@@ -5,7 +5,7 @@
#include <map>
#include <string>
-using std::string;
+using std::string; using std::to_string;
#include <inja.hpp>
using namespace inja;
@@ -36,7 +36,14 @@ int main(int argc, char *argv[])
// Add custom command callbacks.
env.add_callback("doNotModifyHeader", 0, [jsonfilepath, templateFilepath](Arguments& args) {
- return "//\n// DO NOT MODIFY THIS FILE! IT IS AUTO-GENERATED FROM " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n";
+ return "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n";
+ });
+
+ env.add_callback("subtract", 2, [](Arguments& args) {
+ int minuend = args.at(0)->get<int>();
+ int subtrahend = args.at(1)->get<int>();
+
+ return minuend - subtrahend;
});
env.add_callback("setVar", 2, [=](Arguments& args) {
@@ -46,11 +53,33 @@ int main(int argc, char *argv[])
return "";
});
+ env.add_callback("setVarInt", 2, [=](Arguments& args) {
+ string key = args.at(0)->get<string>();
+ string value = to_string(args.at(1)->get<int>());
+ set_custom_var(key, value);
+ return "";
+ });
+
env.add_callback("getVar", 1, [=](Arguments& args) {
string key = args.at(0)->get<string>();
return get_custom_var(key);
});
+ env.add_callback("trackVar", 2, [](Arguments& args) {
+ static int counter = 0;
+
+ int addValue = args.at(0)->get<int>();
+ int checkValue = args.at(1)->get<int>();
+
+ bool over = false;
+
+ counter = (counter + addValue) % (checkValue + 1);
+
+ if (counter <= addValue) over = true;
+
+ return over;
+ });
+
env.add_callback("concat", 2, [](Arguments& args) {
string first = args.at(0)->get<string>();
string second = args.at(1)->get<string>();
@@ -67,7 +96,6 @@ int main(int argc, char *argv[])
return rawValue.erase(0, prefix.length());
});
- // Add custom command callbacks.
env.add_callback("removeSuffix", 2, [](Arguments& args) {
string rawValue = args.at(0)->get<string>();
string suffix = args.at(1)->get<string>();