Code Monkey home page Code Monkey logo

samrewritten's People

Contributors

deadstarlin avatar parov0z avatar patriot38 avatar paulcombal avatar pehsa avatar qurious-pixel avatar rejedai avatar sbairedd avatar telans avatar vapier avatar wgpierce avatar wuerstchen avatar xphyro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

samrewritten's Issues

Parsing error or something

Library path is /home/pgp/Downloads/SamRewritten-master/bin
Parsing error: lexical error: invalid char in json text.
                                        <html> <head> <title>429 Too M
                     (right here) ------^


CPU Usage

Oh god, this app is luggy. It uses about 25% of CPU! And I dunno why. It begins to use a lot of CPU when I click on some game to see achievements.

Not able to build

I am using 64-bit Ubuntu 18.04.3 LTS (GNOME 3.28.2). I have cloned the repository and am running make in terminal.

In file included from /usr/include/gtkmm-3.0/gtkmm/widget.h:39:0,
                 from /usr/include/gtkmm-3.0/gtkmm/container.h:28,
                 from /usr/include/gtkmm-3.0/gtkmm/bin.h:27,
                 from /usr/include/gtkmm-3.0/gtkmm/listboxrow.h:25,
                 from src/gui/ListBoxRowWithIcon.h:4,
                 from src/gui/AchievementBoxRow.h:5,
                 from src/gui/AchievementBoxRow.cpp:1:
/usr/include/gtkmm-3.0/gtkmm/object.h: In instantiation of ‘auto Gtk::make_managed(T_Args&& ...) [with T = Gtk::Image; T_Args = {const char (&)[10], Gtk::BuiltinIconSize}]’:
src/gui/AchievementBoxRow.cpp:38:116:   required from here
/usr/include/gtkmm-3.0/gtkmm/object.h:63:17: error: no matching function for call to ‘Gtk::Image::Image(const char [10], Gtk::BuiltinIconSize)’
   return manage(new T(std::forward<T_Args>(args)...));
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/gui/ListBoxRowWithIcon.h:5:0,
                 from src/gui/AchievementBoxRow.h:5,
                 from src/gui/AchievementBoxRow.cpp:1:
/usr/include/gtkmm-3.0/gtkmm/image.h:251:12: note: candidate: Gtk::Image::Image(const Glib::RefPtr<Gdk::PixbufAnimation>&)
   explicit Image(const Glib::RefPtr<Gdk::PixbufAnimation>& animation);
            ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:251:12: note:   candidate expects 1 argument, 2 provided
/usr/include/gtkmm-3.0/gtkmm/image.h:248:3: note: candidate: Gtk::Image::Image(const Glib::RefPtr<Gtk::IconSet>&, Gtk::IconSize)
   Image(const Glib::RefPtr<IconSet>& icon_set, IconSize size);
   ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:248:3: note:   no known conversion for argument 1 from ‘const char [10]’ to ‘const Glib::RefPtr<Gtk::IconSet>&’
/usr/include/gtkmm-3.0/gtkmm/image.h:242:3: note: candidate: Gtk::Image::Image(const Gtk::StockID&, Gtk::IconSize)
   Image(const Gtk::StockID& stock_id, IconSize size);
   ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:242:3: note:   no known conversion for argument 1 from ‘const char [10]’ to ‘const Gtk::StockID&’
/usr/include/gtkmm-3.0/gtkmm/image.h:225:14: note: candidate: Gtk::Image::Image(const Glib::RefPtr<Gdk::Pixbuf>&)
     explicit Image(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
              ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:225:14: note:   candidate expects 1 argument, 2 provided
/usr/include/gtkmm-3.0/gtkmm/image.h:218:14: note: candidate: Gtk::Image::Image(const string&)
     explicit Image(const std::string& file);
              ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:218:14: note:   candidate expects 1 argument, 2 provided
In file included from src/gui/ListBoxRowWithIcon.h:5:0,
                 from src/gui/AchievementBoxRow.h:5,
                 from src/gui/AchievementBoxRow.cpp:1:
/usr/include/gtkmm-3.0/gtkmm/image.h:206:3: note: candidate: Gtk::Image::Image()
   Image();
   ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:206:3: note:   candidate expects 0 arguments, 2 provided
/usr/include/gtkmm-3.0/gtkmm/image.h:169:12: note: candidate: Gtk::Image::Image(GtkImage*)
   explicit Image(GtkImage* castitem);
            ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:169:12: note:   candidate expects 1 argument, 2 provided
/usr/include/gtkmm-3.0/gtkmm/image.h:168:12: note: candidate: Gtk::Image::Image(const Glib::ConstructParams&)
   explicit Image(const Glib::ConstructParams& construct_params);
            ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:168:12: note:   candidate expects 1 argument, 2 provided
/usr/include/gtkmm-3.0/gtkmm/image.h:152:3: note: candidate: Gtk::Image::Image(Gtk::Image&&)
   Image(Image&& src) noexcept;
   ^~~~~
/usr/include/gtkmm-3.0/gtkmm/image.h:152:3: note:   candidate expects 1 argument, 2 provided
src/gui/AchievementBoxRow.cpp: In constructor ‘AchievementBoxRow::AchievementBoxRow(const Achievement_t&)’:
src/gui/AchievementBoxRow.cpp:38:116: error: void value not ignored as it ought to be
 :make_managed<Gtk::Image>("gtk-about", Gtk::BuiltinIconSize::ICON_SIZE_BUTTON);
                                                                              ^
Makefile:28: recipe for target 'obj/src/gui/AchievementBoxRow.o' failed
make: *** [obj/src/gui/AchievementBoxRow.o] Error 1

This is what comes up. Before this, I encountered another error:

src/gui/AppBoxRow.cpp: In constructor ‘AppBoxRow::AppBoxRow(const Game_t&)’:
src/gui/AppBoxRow.cpp:14:29: error: ‘make_managed’ is not a member of ‘Gtk’
     Gtk::Box* layout = Gtk::make_managed<Gtk::Box>(Gtk::Orientation::ORIENTATION_HORIZONTAL, 0);
                             ^~~~~~~~~~~~
src/gui/AppBoxRow.cpp:14:29: note: suggested alternative: ‘manage’
     Gtk::Box* layout = Gtk::make_managed<Gtk::Box>(Gtk::Orientation::ORIENTATION_HORIZONTAL, 0);
                             ^~~~~~~~~~~~
                             manage
src/gui/AppBoxRow.cpp:14:50: error: expected primary-expression before ‘>’ token
     Gtk::Box* layout = Gtk::make_managed<Gtk::Box>(Gtk::Orientation::ORIENTATION_HORIZONTAL, 0);
                                                  ^
src/gui/AppBoxRow.cpp:14:94: warning: left operand of comma operator has no effect [-Wunused-value]
 out = Gtk::make_managed<Gtk::Box>(Gtk::Orientation::ORIENTATION_HORIZONTAL, 0);
                                                                             ^
src/gui/AppBoxRow.cpp:15:30: error: ‘make_managed’ is not a member of ‘Gtk’
     Gtk::Label* label = Gtk::make_managed<Gtk::Label>(app.app_name);
                              ^~~~~~~~~~~~
src/gui/AppBoxRow.cpp:15:30: note: suggested alternative: ‘manage’
     Gtk::Label* label = Gtk::make_managed<Gtk::Label>(app.app_name);
                              ^~~~~~~~~~~~
                              manage
src/gui/AppBoxRow.cpp:15:53: error: expected primary-expression before ‘>’ token
     Gtk::Label* label = Gtk::make_managed<Gtk::Label>(app.app_name);
                                                     ^
src/gui/AppBoxRow.cpp:16:30: error: ‘make_managed’ is not a member of ‘Gtk’
     Gtk::Arrow* arrow = Gtk::make_managed<Gtk::Arrow>(Gtk::ArrowType::ARROW_RIGHT, Gtk::ShadowType::SHADOW_OUT);
                              ^~~~~~~~~~~~
src/gui/AppBoxRow.cpp:16:30: note: suggested alternative: ‘manage’
     Gtk::Arrow* arrow = Gtk::make_managed<Gtk::Arrow>(Gtk::ArrowType::ARROW_RIGHT, Gtk::ShadowType::SHADOW_OUT);
                              ^~~~~~~~~~~~
                              manage
src/gui/AppBoxRow.cpp:16:53: error: expected primary-expression before ‘>’ token
     Gtk::Arrow* arrow = Gtk::make_managed<Gtk::Arrow>(Gtk::ArrowType::ARROW_RIGHT, Gtk::ShadowType::SHADOW_OUT);
                                                     ^
src/gui/AppBoxRow.cpp:16:101: warning: left operand of comma operator has no effect [-Wunused-value]
 e_managed<Gtk::Arrow>(Gtk::ArrowType::ARROW_RIGHT, Gtk::ShadowType::SHADOW_OUT);
                                                                     ^~~~~~~~~~
Makefile:28: recipe for target 'obj/src/gui/AppBoxRow.o' failed
make: *** [obj/src/gui/AppBoxRow.o] Error 1

This I solved with the help of this StackOverflow thread.

PS: I tried using the AppImage provided in Releases but for some reason it doesn't do anything.

Locked and Unlocked states should have a different icon

Currently both states for locked and unlocked achievements have the almost same icon, this makes it not very easy to see which one is already unlocked. I think the clarity would be much better if they wouldn't share such a similar icon.

state

Cleanup ideas

For cleanup - dev branch

  • I think it makes sense to move the steam headers into src/steam/
  • Are the libraries inside steam/lib needed? They don't seem to be used for building or running
  • Rename the glade folder to gui (more 'common' name I suppose)? Maybe remove unused glade files (or nest them into glade/dev for example), but looks like they might be used in future. Or could remove them just from master if the dev branch is staying around
  • Rename assets/samrewritten64 to icon_64
  • Rename assets/icon to icon_256 (maybe generate the other common sizes if wanted or when needed)

Just thoughts to make the folders look a tad cleaner, will make a PR if wanted

Crashing on second lauch of game server

Selecting a DLC or game, then selecting one of them again crashes the program.

Below is what happens when lauching a DLC first, however as far as I know, there aren't any DLC which themselves have achievements, so they could probably be omitted from the game list.

# Loading DLC

[S_API] SteamAPI_Init(): Loaded '/home/telans/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 233010
Steam_SetMinidumpSteamID:  Caching Steam ID:  id [API loaded no]
Received stats for the game, but an error occurrred.

# Going back to menu

Write pipe encountered fatal error.

# Selecting normal game

../common/pipes.cpp (766) : CClientPipe::BWriteAndReadResult: BWaitResult failed, disconnected
ERROR: waitpid() on child forked process failed when uploading minidump: 10
ERROR: Could not run steamerrorreporter binary. Uploading minidump in-process
crash_time.dmp[59433]: Uploading dump (out-of-process)
/tmp/dumps/crash_time.dmp
Uploading dump (in-process) [proxy '']
/tmp/dumps/crash_time.dmp
crash_time.dmp[59433]: Finished uploading minidump (out-of-process): success = no
crash_time.dmp[59433]: error: libcurl.so: cannot open shared object file: No such file or directory
crash_time.dmp[59433]: file ''/tmp/dumps/crash_time.dmp'', upload no: ''libcurl.so: cannot open shared object file: No such file or directory''
success = yes
response:  Discarded=1
steamclient.cpp (792) : Assertion Failed: bufRet.TellPut() == sizeof(uint8)
../common/processpipe_posix.cpp (507) : Assertion Failed: CCrossProcessPipe::BWrite: 32 (Broken pipe)
[S_API] SteamAPI_Init(): Loaded '/home/telans/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 224420
Steam_SetMinidumpSteamID:  Caching Steam ID:  id [API loaded no]
Unable to connect to server after 20 retries: /run/user/1000/SamRewritten/224420-ipc.sock

Without selecting a DLC first, SamRewritten still seems to crash on the second time 'opening' a game to change achievements. The logs do appear to be a little different, mainly Assertion Failed: bufRet.TellPut() == sizeof(uint8)

# Selecting game

[S_API] SteamAPI_Init(): Loaded '/home/telans/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 221380
Steam_SetMinidumpSteamID:  Caching Steam ID:  id [API loaded no]
Shutting down server safely.

# Returning to menu - have omitted these ~x50

(samrewritten:60728): Gtk-CRITICAL **: time: gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed

(samrewritten:60728): GLib-GObject-WARNING **: time: invalid unclassed pointer in cast to 'GtkWidget'

# Selecting the game for the second time

CCrossProcessPipe::BWrite wrote too few bytes: 32 (Broken pipe).  Continuing.
../common/pipes.cpp (766) : CClientPipe::BWriteAndReadResult: BWaitResult failed, disconnected
../common/pipes.cpp (766) : CClientPipe::BWriteAndReadResult: BWaitResult failed, disconnected
ERROR: waitpid() on child forked process failed when uploading minidump: 10
ERROR: Could not run steamerrorreporter binary. Uploading minidump in-process
Uploading dump (in-process) [proxy '']
/tmp/dumps/crash_time.dmp
crash_time.dmp[61826]: Uploading dump (out-of-process)
/tmp/dumps/crash_time.dmp
crash_time.dmp[61826]: Finished uploading minidump (out-of-process): success = no
crash_time.dmp[61826]: error: libcurl.so: cannot open shared object file: No such file or directory
crash_time.dmp[61826]: file ''/tmp/dumps/crash_time.dmp'', upload no: ''libcurl.so: cannot open shared object file: No such file or directory''
Unable to connect to server after 20 retries: /run/user/1000/SamRewritten/221380-ipc.sock
success = yes
response:  Discarded=1
steamclient.cpp (792) : Assertion Failed: bufRet.TellPut() == sizeof(uint8)
steamclient.cpp (792) : Assertion Failed: bufRet.TellPut() == sizeof(uint8)
../common/processpipe_posix.cpp (507) : Assertion Failed: CCrossProcessPipe::BWrite: 32 (Broken pipe)
../common/processpipe_posix.cpp (507) : Assertion Failed: CCrossProcessPipe::BWrite: 32 (Broken pipe)
[S_API] SteamAPI_Init(): Loaded '/home/telans/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 221380
Steam_SetMinidumpSteamID:  Caching Steam ID:  id [API loaded no]

Achievements are locked but the steam stats stay the same

About the "steam stats" I'm talking about the achievement showcase on your steam profile. I have 3679 achievements across 54 games. I locked 30+ achievements from 6 games, they won't load when I try to add them to the showcase, but the games do still appear in the list, and the stats stay the same (3679 achievements - 54 games).

Is this just how it is?

New GUI

I drew 2 sketches.
image
image
What do you think about this?
The reload button replaces the refresh of achievements and games in the menu.

I removed "only" because, logically, when you turn on the checkboxes, they should turn something on, not turn it off. In principle, it can be replaced by a radio button:
🔘 Display All
🔘 Display Only Locked
🔘 Display Only Unlocked

Sorting and displaying can also be transferred to a separate button, as is done in Lutris.
image

28898 Segment error

So... This is very interesting.

When I used SamRewritten I accidentally opened one game (#Have A Sticker ; AppID 841860)

The game is a mess with 5000 achievement. If you launch the game (normally too) 4479 achievements unlocked automatically.
So I accidentally opened the game page in SamRewritten. I got those achievements, but if I try to leave the page, SamRewritten crashing with 28898 Segment error.

Can't compile on Trisquel (Ubuntu 16.04)

Hi.
I can't compile SamRewritten on my distro, which is Trisquel, based on Ubuntu 16.04.

`vanacksabbadium@Cyclops:~/Desktop/SamRewritten-master$ ./make.sh
SAM.Picker/gtk_callbacks.cpp: In function ‘void on_store_button_clicked()’:
SAM.Picker/gtk_callbacks.cpp:35:26: error: expected unqualified-id before ‘[’ token
for (auto const& [key, val] : pending_achs) {
^
SAM.Picker/gtk_callbacks.cpp:35:26: error: expected ‘;’ before ‘[’ token
SAM.Picker/gtk_callbacks.cpp:35:27: error: ‘key’ was not declared in this scope
for (auto const& [key, val] : pending_achs) {
^
SAM.Picker/gtk_callbacks.cpp:35:32: error: ‘val’ was not declared in this scope
for (auto const& [key, val] : pending_achs) {
^
SAM.Picker/gtk_callbacks.cpp: In lambda function:
SAM.Picker/gtk_callbacks.cpp:35:37: error: expected ‘{’ before ‘:’ token
for (auto const& [key, val] : pending_achs) {
^
SAM.Picker/gtk_callbacks.cpp: In function ‘void on_store_button_clicked()’:
SAM.Picker/gtk_callbacks.cpp:35:37: error: expected ‘;’ before ‘:’ token
SAM.Picker/gtk_callbacks.cpp:35:37: error: expected primary-expression before ‘:’ token
SAM.Picker/gtk_callbacks.cpp:35:37: error: expected ‘)’ before ‘:’ token
SAM.Picker/gtk_callbacks.cpp:35:37: error: expected primary-expression before ‘:’ token
If there wasn't any compilation error, you can launch the manager with ./bin/launch.sh

vanacksabbadium@Cyclops:~/Desktop/SamRewritten-master/bin$ ./launch.sh
Library path is /home/vanacksabbadium/Desktop/SamRewritten-master/bin
./launch.sh: line 10: /home/vanacksabbadium/Desktop/SamRewritten-master/bin/samrewritten: No such file or directory`

Thank you in advance for the answer...

Cant install AppImage or compile on Opensuse Leap 15.1

When downloading one of the AppImages i get this error:

/tmp/.mount_SamRewFpiRHZ/usr/bin/samrewritten: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_SamRewFpiRHZ/usr/bin/../lib/libgtk-3.so.0)
/tmp/.mount_SamRewFpiRHZ/usr/bin/samrewritten: /lib64/libc.so.6: version `GLIBC_2.27' not found  (required by /tmp/.mount_SamRewFpiRHZ/usr/bin/../lib/libssh.so.4)

When compiling via make i get the following: https://pastebin.com/ry4RT9s2
I installed all dependencies i could, more than mentioned too.

Latest version Crash

I have downloaded the version of 19-12-2019 followed the instructions.

when i start it i get a error

./launch.sh
[PID:13814 TRD:139944960832896 TME:2.8e-05] PerfMon started.
[PID:13814 TRD:139944960832896 TME:0.006912] Globals initialized.
[PID:13814 TRD:139944960832896 TME:0.085055] Starting library parsing.
[PID:13814 TRD:139944960832896 TME:0.577844] Done retrieving and filtering owned apps
[PID:13814 TRD:139944960832896 TME:2.43412] Done adding apps to GUI

(samrewritten:13814): glibmm-CRITICAL **: 02:34:52.739:
unhandled exception (type Glib::Error) in signal handler:
domain: gdk-pixbuf-error-quark
code : 3
what : Couldn't recognize the image file format for file '/home/user/.cache/SamRewritten/22362/banner.jpg'

[PID:13814 TRD:139944960832896 TME:6.25279] Starting achievement retrieval
[S_API] SteamAPI_Init(): Loaded '/home/user/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 439550
Steam_SetMinidumpSteamID: Caching Steam ID: [API loaded no]
Got stats, maybe I can do cool stuff with them, gotta check.
[PID:13814 TRD:139944960832896 TME:6.77685] Done retrieving achievements
./launch.sh: line 10: 13814 Segmentation fault (core dumped) ${SCRIPT_PATH}/samrewritten $@

when i run ./launch it stars it sees the list of games once i open a game it crashes.

ok when i just used a different banner for the one it breaks on i dont get any further messages untill i click a game again.

./launch.sh
[PID:24283 TRD:140023187043712 TME:2.7e-05] PerfMon started.
[PID:24283 TRD:140023187043712 TME:0.007215] Globals initialized.
[PID:24283 TRD:140023187043712 TME:0.086904] Starting library parsing.
[PID:24283 TRD:140023187043712 TME:0.564036] Done retrieving and filtering owned apps
[PID:24283 TRD:140023187043712 TME:2.38064] Done adding apps to GUI
[S_API] SteamAPI_Init(): Loaded '/home/user/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 271670
Steam_SetMinidumpSteamID: Caching Steam ID: [API loaded no]
[PID:24283 TRD:140023187043712 TME:19.6135] Starting library parsing.

(samrewritten:24283): glibmm-ERROR **: 02:56:57.512:
unhandled exception (type std::exception) in signal handler:
what: std::future_error: No associated state

./launch.sh: line 10: 24283 Trace/breakpoint trap (core dumped) ${SCRIPT_PATH}/samrewritten $@

Steam path not found - wrong path

SamRewritten couldn't find my Steam install (clean install done about 7 days ago on a clean Ubuntu 18.10 done the same day).

In "MySteam.cpp", it looks for "/.steam/appcache/appinfo.vdf", but the correct path in my install is "/.steam/steam/appcache/appinfo.vdf". The resulting returned string also needs the additional "/steam" too (return std::string(home_path + "/.steam/steam");)

Works fine after doing that (slightly confusing UI, but so is the original if I recall).

Hide / remove non-games from selection list ( DLCs, SDKs, Servers )

DLCs, SDKs and other Steam / game tools do not have achievements.
Removing them from the list would declutter the menu especially for people with games that have dozens of DLCs.

However, keeping around various game tools may be useful for people that just wish to idle them for app hours on Steam, as some people do. Perhaps there could be a toggle for this in the settings.

Why some games fail to lock or unlock achievements?

Games like Minimum (appID 214190) fail to lock or unlock achievements:

Adding modification: BASETURRETKILL_10IAR_SERVER, to unlock
Adding modification: DEPLOYABLETURRETKILL_15IAR_SERVER, to unlock
Adding modification: HORDERAPTORKILL_50IAR_SERVER, to unlock
Adding modification: TITANKILL_11_SERVER, to unlock
key BASETURRETKILL_10IAR_SERVERval 1
key DEPLOYABLETURRETKILL_15IAR_SERVERval 1
key HORDERAPTORKILL_50IAR_SERVERval 1
key TITANKILL_11_SERVERval 1
Unlocking achievement BASETURRETKILL_10IAR_SERVER failed 
Unlocking achievement DEPLOYABLETURRETKILL_15IAR_SERVER failed 
Unlocking achievement HORDERAPTORKILL_50IAR_SERVER failed 
Unlocking achievement TITANKILL_11_SERVER failed

Is there any reason for that?

Cannot compile on arch

I have installed yajl but it still will not compile

[mint@core:SamRewritten|master]$ ./make.sh 
SAM.Picker/SteamAppDAO.cpp: In static member function ‘static void SteamAppDAO::parse_app_names_v2()’:
SAM.Picker/SteamAppDAO.cpp:93:5: error: ‘yajl_val’ was not declared in this scope
   93 |     yajl_val node;
      |     ^~~~~~~~
SAM.Picker/SteamAppDAO.cpp:115:5: error: ‘node’ was not declared in this scope
  115 |     node = yajl_tree_parse((const char *) fileData, errbuf, sizeof(errbuf));
      |     ^~~~
SAM.Picker/SteamAppDAO.cpp:115:12: error: ‘yajl_tree_parse’ was not declared in this scope
  115 |     node = yajl_tree_parse((const char *) fileData, errbuf, sizeof(errbuf));
      |            ^~~~~~~~~~~~~~~
SAM.Picker/SteamAppDAO.cpp:130:13: error: expected ‘;’ before ‘v’
  130 |     yajl_val v = yajl_tree_get(node, path, yajl_t_array);
      |             ^~
      |             ;
SAM.Picker/SteamAppDAO.cpp:131:9: error: ‘v’ was not declared in this scope
  131 |     if (v == NULL) {
      |         ^
SAM.Picker/SteamAppDAO.cpp:136:29: error: ‘v’ was not declared in this scope
  136 |     unsigned array_length = v->u.array.len;
      |                             ^
SAM.Picker/SteamAppDAO.cpp:140:17: error: expected ‘;’ before ‘obj’
  140 |         yajl_val obj = v->u.array.values[i];
      |                 ^~~~
      |                 ;
SAM.Picker/SteamAppDAO.cpp:142:21: error: ‘obj’ was not declared in this scope
  142 |         tmp_appid = obj->u.object.values[0]->u.number.i;
      |                     ^~~
SAM.Picker/SteamAppDAO.cpp:147:5: error: ‘yajl_tree_free’ was not declared in this scope
  147 |     yajl_tree_free(node);
      |     ^~~~~~~~~~~~~~
SAM.Picker/SteamAppDAO.cpp:129:18: warning: unused variable ‘path’ [-Wunused-variable]
  129 |     const char * path[] = { "applist", "apps", (const char*)0 };
      |                  ^~~~
common/Downloader.cpp: In member function ‘void Downloader::download_file_async(const string&, const string&, const long unsigned int&)’:
common/Downloader.cpp:50:103: warning: ignoring return value of ‘std::future<typename std::__invoke_result<typename std::decay<_Tp>::type, typename std::decay<_Args>::type ...>::type> std::async(_Fn&&, _Args&& ...) [with _Fn = Downloader::download_file_async(const string&, const string&, const long unsigned int&)::<lambda()>; _Args = {}; typename std::__invoke_result<typename std::decay<_Tp>::type, typename std::decay<_Args>::type ...>::type = void]’, declared with attribute nodiscard [-Wunused-result]
   50 |     std::async([this, file_url, local_path, dl_id]{this->download_file(file_url, local_path, dl_id);});
      |                                                                                                       ^
In file included from common/Downloader.h:6,
                 from common/Downloader.cpp:1:
/usr/include/c++/9.1.0/future:1740:5: note: declared here
 1740 |     async(_Fn&& __fn, _Args&&... __args)
      |     ^~~~~
If there wasn't any compilation error, you can launch the manager with ./bin/launch.sh

Why many games doesn't appear on SAM?

Sorry if this has been answered, i've been looking and i couldn't find an answer.

I own many games that doesn't appear on SAM. Is there any reason for that?

Game doesn't relock achievements

All seems fine but after locking via SAM the regular Steam achievement popups show in the bottom right corner of the screen (like when you unlock them in-game) and they remain unlocked.

DieHard: to relock
Hidey-Hole: to relock
Saving stats and achievements.
Relocking DieHard
Relocking Hidey-Hole
I'm the child, and I received SIGUSR1, which means I must retrieve achievements and tell them to my parent through a pipe.
WARNING: Achievement list given may already have been initialized

The game is Capsized
https://store.steampowered.com/app/95300/Capsized/

Haven't had any trouble with any other games besides this one and console output is the same so no idea why this game is giving trouble.

Does not run on Ubuntu 20.04

Hello,
I installed the dependencies as the README instructs, make went well but when I try to launch I get errors :

$ ./bin/launch.sh 
/DATA/SamRewritten-master/bin/samrewritten: symbol lookup error: /DATA/SamRewritten-master/bin/samrewritten: undefined symbol: SteamInternal_FindOrCreateUserInterface
$ ./bin/samrewritten 
./bin/samrewritten: error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory

libsteam_api.so is right there in the bin folder so I really don't have a clue what's going on with that last one.

Game detection doesn't work

I have a Steam library with 111 games and this rewrite of SAM doesn't detect them all. Not even ones that have stats or achievements, such as Half-Life 2, HL2: EP1 (it only detected EP2), Half:Life 2 Deathmatch and PID.

Cant install on ubuntu

Hi, im trying to use that programm, im getting this error when i run with the following command ./build_appimage.sh
ERROR: Failed to run plugin: appimage

Does not run on Ubuntu 16.04

Hi, thanks for making an AppImage. Unfortunately it does not run on Ubuntu 16.04 because it was built on a too new system:

/run/firejail/appimage/.appimage-9237/usr/bin/samrewritten: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /run/firejail/appimage/.appimage-9237/usr/bin/samrewritten)

Please see
https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages/cc2441518975caca23e9ce2dba6f08a22c678d1e#creating-appimages-that-are-compatible-with-many-systems

Reference:
AppImage/appimage.github.io#2035

Trying to use this program but cant login

Im trying to use this program, but seems like there is an loop when i try to unlock achievements. When i click any game appears the login window and when i try to login, appears again and again
Screenshot from 2020-04-30 10-52-56
Screenshot from 2020-04-30 10-53-30

Achievements and apps with html characters need to be escaped

This is a known problem I've seen a few times. See below for some achievements from Choice Chamber. The string just needs to be escaped before it's put into the GTK field.

(samrewritten:389238): Gtk-WARNING **: 11:44:00.755: Failed to set text '<b><3333333333</b>' from markup due to error parsing markup: Error on line 1 char 25: “3333333333<” is not a valid name
(samrewritten:389238): Gtk-WARNING **: 11:44:00.755: Failed to set text '<b><3333333333</b>' from markup due to error parsing markup: Error on line 1 char 25: “3333333333<” is not a valid name
(samrewritten:389238): Gtk-WARNING **: 11:44:00.758: Failed to set text '<b><33333</b>' from markup due to error parsing markup: Error on line 1 char 20: “33333<” is not a valid name
(samrewritten:389238): Gtk-WARNING **: 11:44:00.758: Failed to set text '<b><33333</b>' from markup due to error parsing markup: Error on line 1 char 20: “33333<” is not a valid name

The app doesn't show some icons

Hello!
I'm using Fedora. I've compiled your app and it looks like this:
image
Can you see broken image? This is the problem!
And when I click on game I again can see broken image:
image
The problem is that you're trying to load icons from name that system doesn't have! See AppBoxRow.cpp line 20:
new_window_button->set_image_from_icon_name("document-export-symbolic", Gtk::BuiltinIconSize::ICON_SIZE_BUTTON);
There's no 'document-export-symbolic' in my system (Im using GNOME). Please replace icons. All icon names are described here -- https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html.
Thanks!
With love,
r1ddle

GUI Error and rename project

Latest version of SAM has problem with GUI.
image

What do you think about changing the name of the project? In general I'm used to "rewritten", but at this stage the project may have its name like, NeoSAM (neo vim), SAMium (chromium, codium) or like GOG, SAM Galaxy, in the end just SAM.

Desktop file

I don't know who AUR package maintainer, but this package has a broken .desktop file.

Pls add StartupWMClass=samrewritten into file for work correctly.

Games fail to load and background crash in Linux Mint 20 (Ubuntu 20.04)

I'm running Linux Mint 20 (based on Ubuntu 20.04). Steam is installed and running. I followed the build instructions and everything build cleanly. When I run ./bin/launch.sh, the SamRewritten window appears, but the console immediately prints:

$ ./bin/launch.sh 
../steamnetworkingsockets/clientlib/csteamnetworkingsockets_steam.cpp (39) : Assertion Failed: Don't know Steam universe.  Order of init bug?
../steamnetworkingsockets/clientlib/csteamnetworkingsockets_steam.cpp (39) : Assertion Failed: Don't know Steam universe.  Order of init bug?
../steamnetworkingsockets/clientlib/csteamnetworkingsockets_steamclient.cpp (275) : Assertion Failed: IClientNetworkingUtils_Create - Don't know Steam universe.  Order of init bug?crash_20201003105454_2.dmp[119716]: Uploading dump (out-of-process)
/tmp/dumps/crash_20201003105454_2.dmp

../steamnetworkingsockets/clientlib/csteamnetworkingsockets_steamclient.cpp (275) : Assertion Failed: IClientNetworkingUtils_Create - Don't know Steam universe.  Order of init bug?
crash_20201003105454_2.dmp[119716]: Finished uploading minidump (out-of-process): success = yes
crash_20201003105454_2.dmp[119716]: response: Discarded=1
crash_20201003105454_2.dmp[119716]: file ''/tmp/dumps/crash_20201003105454_2.dmp'', upload yes: ''Discarded=1''

The message "SamRewritten is currently fetching your games" appears in the window and spins for several seconds, then is eventually replaced with "No games found! Did you make a typo?"

Any idea what might be going wrong?

Timed unlocks takes longer than specified

Using the appimage in Ubuntu 20.04, when selecting a few achievement to be unlocked over time:

  • Amount: 8
  • Unit: Hours
  • Spacing: Even
  • Order: Selection

It takes a lot longer than 8 hours to unlock them all. The time increment seems to add another unit of the initial increment every 2 achievements unlocked, e.g.

  • First achievement: 0 mins
  • Second achievement: 21 mins later
  • Third achievement: 42 mins later
  • Fourth achievement: 42 mins later
  • Fifth achievement: 62 mins later
  • Sixth achievement: 62 mins later
  • Seventh achievement: 83 mins later
  • ...

Working on Tessa's Linux Mint 19.1 Tessa

Hello, primeperfectly Thank you for your project. It was a hell I have to use a virtual machine with Windows just to use the SAM (Steam Achievements Manager). I tried to install the program more at the beginning I found it very confusing more succeeded. Do you have plans to make a graphical interface of the program? I also noticed that it does not detect some games and I run some risk of Vac Ban? Only use in the conquest that I need to play multiplayer or achievements that no longer to catch.

Sam Rewritten
Sam Rewritten (2)

Implement "About" menu / popup

Would make the "About" selection functional within the popover menu.

Perhaps something like this? I don't know how to implement it into SamRewritten, however.

0-Screenshot_20191020_233945

Long achievement descriptions

I'm just tested the other issue when I found this.

The window size is depend on the content, like Game names or achievement description.

If the game has an achievement with a long description the window width will be long enough to be out of screen.
For example PayDay 2's Wind of Change achievement has a very long description which made the window width to 2701px, which is only usable on ultra wide monitors (or dual monitors).

Cannot change stats with the AppImage CLI ?

I might do this wrong but it seems I can't change stats via command line with the appimage:

The command I run:
./SamRewritten-Ubuntu_18.04-f75eaa9-x86_64.AppImage -a 4000 --statnames GMA_X_MINUTES_STAT --statvalues 3685

the output:
Error opening the Steam Client library. /home/krafting/.steam/steam/linux64/steamclient.so may not exist. Info: /home/krafting/.steam/steam/linux64/steamclient.so: cannot open shared object file: No such file or directory Trying alternate Steam Client library path. [S_API] SteamAPI_Init(): Loaded '/home/krafting/.steam/linux64/steamclient.so' OK. Setting breakpad minidump AppID = 4000 Steam_SetMinidumpSteamID: Caching Steam ID: 76561198089847935 [API loaded no] Changing Float stat to value3685.000000 failed

Doing this via the GUI works normally.

Segmentation fault (core dumped)

Library path is /home/lelobster/.local/src/SamRewritten/bin
./launch.sh: line 10:  1614 Segmentation fault      (core dumped) $SCRIPTPATH/samrewritten

It's not very verbose so I don't know how to share other information about this error.
Also cannot find the core dump in any of the folders.

Deus Ex: The Fall (258180) crashes SamRewritten

I think the problem is that the german description contains some badly encoded characters, displayed as even on the steam website. They should probably be umlauts (Ää, Öö, Üü, ẞß) but something has gone wrong on their end.

Parsing error.
https://steamcommunity.com/my/stats/258180/achievements/

Terminal output
LC_ALL=C samrewritten

** (samrewritten:162543): CRITICAL **: 15:08:32.616: 
unhandled exception (type Glib::Error) in signal handler:
domain: gdk-pixbuf-error-quark
code  : 0
what  : Image file ?/home/lucki/.cache/SamRewritten/407810/banner.jpg? contains no data

It looks like the server before me did not shutdown properly.
[S_API] SteamAPI_Init(): Loaded '/home/lucki/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 258180
Steam_SetMinidumpSteamID:  Caching Steam ID:   [API loaded no]
Parsing error. Data: 
{"SAM_ACK":"SAM_ACK","ACHIEVEMENT_LIST":[{"ID":"BargainHunter","NAME":"Schn�ppchenj�ger","DESC":"Sie Pfiffikus! Sie haben Alvarez Araujo �berzeugt, Ihnen seine LIMB-Karte kostenlos zu �berlassen!","ICON":"162caa342201995a7aeb9988b87af953d6750449.jpg","RATE":10.399999618530273438,"ACHIEVED":true,"HIDDEN":true,"PERMISSION":0},{"ID":"BigBrother","NAME":"Tsch�ssi, Big Brother","DESC":"Verwenden Sie die Elektroschockpistole, um eine �berwachungskamera auszuschalten.","ICON":"ce083622c640a2062d7c0d339332da8cfe6d4925.jpg","RATE":9.1000003814697265625,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"BombSquad","NAME":"Entsch�rfungskommando","DESC":"Entsch�rfen Sie eine Mine.","ICON":"996c5c98307ce433d8de431fe365ec33f09f12ab.jpg","RATE":30.399999618530273438,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"BoyScout","NAME":"Pfadfinder","DESC":"Sie haben Camila mit den Raufbolden geholfen und wollten keine Belohnung daf�r haben! So ein anst�ndiger Kerl!","ICON":"606cc3fdd883fcc10f14b5684f2a75fb207a5647.jpg","RATE":6.4000000953674316406,"ACHIEVED":true,"HIDDEN":true,"PERMISSION":0},{"ID":"Completionist","NAME":"Perfektionist","DESC":"Schlie�en Sie alle Nebenmissionen in Panama ab.","ICON":"3431557fda9056a4767dd16f07c998664f40b238.jpg","RATE":5.5,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"CrunchTime","NAME":"Zeit zum Naschen","DESC":"Essen Sie 25 Energy-Riegel.","ICON":"2fdea94de24e8bf176b64d345cae8199fbb24b66.jpg","RATE":9.0,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"DoubleTrouble","NAME":"�rger hoch zwei","DESC":"Schalten Sie zwei Gegner auf einmal aus.","ICON":"311586bec88107b50e5e06f52d9e3f1b8709d083.jpg","RATE":12.800000190734863281,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"HackThePlanet","NAME":"Gehackter Planet","DESC":"Hacken Sie 10 Ger�te, ohne einen Autohack zu verwenden.","ICON":"40286d6fc1cd20dd1f5b79d1294dc17427b0e6a0.jpg","RATE":24.200000762939453125,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"HardTimes","NAME":"Harte Zeiten","DESC":"Sie haben ein echtes Problem. Sie haben ein Bier im M�ll gefunden und es getrunken.","ICON":"db881ccad17fa6186930d40c65cba3732ed7b5a6.jpg","RATE":7.5999999046325683594,"ACHIEVED":false,"HIDDEN":true,"PERMISSION":0},{"ID":"HumanAfterAll","NAME":"Doch nicht so menschlich","DESC":"Geben Sie 20 Praxispunkte f�r Augmentierungen aus.","ICON":"461b16a4222ec61d71605d70a1bd78e1677a21ce.jpg","RATE":18.399999618530273438,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"HushLittleBaby","NAME":"Schlaf Kleiner","DESC":"Befestigen Sie die Bet�ubungsmodifikation an der Armbrust.","ICON":"f336966511e9c2fb301a4c6a34bd50cafbeba1ea.jpg","RATE":13.5,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"IComeInPeace","NAME":"Ich komme in Frieden","DESC":"Bringen Sie die Roboter dazu, gegen ihre Meister anzugehen.","ICON":"5bc1935f2b51d64f07b6f76068a5ccb5b8bd785e.jpg","RATE":16.200000762939453125,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"InfinitePower","NAME":"Die Kraft freischalten","DESC":"Kaufen Sie 10 Praxis-Kits.","ICON":"3470e886461631bad686aebb36c1bc3cb4fb9039.jpg","RATE":6.9000000953674316406,"ACHIEVED":false,"HIDDEN":false,"PERMISSION":0},{"ID":"ItsOver9000","NAME":"Schon �ber 9.000!","DESC":"Geben Sie 9.001 Credits im Shop aus.","ICON":"23de6498cd85d39abc20b8c153a2840d784b7482.jpg","RATE":14.100000381469726562,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"NaturalBornPacifist","NAME":"Ich bin halt Pazifist","DESC":"Schlie�en Sie Teil 1 komplett ab, ohne jemanden umzubringen.","ICON":"6b0283d70a7c44e6979e336283977212cde49591.jpg","RATE":12.199999809265136719,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"OneShotOneKill","NAME":"Ein Schuss, ein Ende","DESC":"F�hren Sie einen Kopfschuss mit der Armbrust aus.","ICON":"93cc16397c18bd2c78a4a93ea09371883f5b77b1.jpg","RATE":46.200000762939453125,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"PackingHeat","NAME":"Hei�e Ausr�stung","DESC":"Besitzen Sie einen Raketenwerfer und ein Plasmagewehr.","ICON":"1fcf667cdacea0f1bfaf0d5b2bddec1ad780f776.jpg","RATE":6.5,"ACHIEVED":false,"HIDDEN":false,"PERMISSION":0},{"ID":"PissOffBarrett","NAME":"Barrett wird sauer","DESC":"Sie haben Barrett daf�r herausgefordert, dass er Sie kritisiert hat, weil Sie Kontarsky am Leben gelassen haben. Das hat ihn nicht besonders erfreut.","ICON":"127e1ecb1ba9caad4571abf654ffd4078c34d3af.jpg","RATE":25.100000381469726562,"ACHIEVED":true,"HIDDEN":true,"PERMISSION":0},{"ID":"Scavenger","NAME":"Pl�nderer","DESC":"Sammeln Sie 2.000 Credits, die in der Welt versteckt sind.","ICON":"00ea3734fd2334cb0e610e54522be16fbca47eb3.jpg","RATE":25.799999237060546875,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"Smackdown","NAME":"Auf die Fresse","DESC":"Schalten Sie 25 Gegner im Nahkampf aus.","ICON":"04efcb709209611a81ccc8e523f9c1a354a7156f.jpg","RATE":17.0,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"SmashingEntrance","NAME":"Durch die Wand","DESC":"Schalten Sie einen Gegner mit einem Angriff durch eine Wand aus.","ICON":"2fa46d5055cc29498158e1e9d02f15e2e857a24f.jpg","RATE":9.6000003814697265625,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"SpillingTheBeans","NAME":"Red schon","DESC":"Sie haben Diego, den Anf�hrer der Skulls dazu gebracht, Ihnen zu sagen, woher das Riezin kommt!","ICON":"eaea55e91bc58b841bb9ffa3c2b258bc7bd04cad.jpg","RATE":16.200000762939453125,"ACHIEVED":true,"HIDDEN":true,"PERMISSION":0},{"ID":"StartingOffOnTheRightFoot","NAME":"Erst mal ruhig angehen","DESC":"Schlie�en Sie das Tutorial ab, ohne jemanden umzubringen.","ICON":"048470276aff4eaa00837f91be6e3323517f34fe.jpg","RATE":12.199999809265136719,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"StoppingPower","NAME":"Stoppwirkung","DESC":"Erwerben Sie jedes Schadensupgrade f�r eine beliebige Schrotflinte.","ICON":"e71a4cfcd33ad958b7e8956928c09e7307a59420.jpg","RATE":7.8000001907348632812,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"SurpriseParty","NAME":"�berraschungsparty","DESC":"F�hren Sie einen Nahkampfangriff bei einem bet�ubten Gegner aus.","ICON":"d7ecb806b53cbfa55d0e31579fc28ed8997200c9.jpg","RATE":8.1999998092651367188,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"ToolsOfTheTrade","NAME":"Handwerkzeug","DESC":"Befestigen Sie einen Schalld�mpfer und ein Laservisier an einer Ihrer Waffen.","ICON":"367641e9611fd0aec7be3d35629c5dc179ee7895.jpg","RATE":52.09999847412109375,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"TotalEvasion","NAME":"Totale Umgehung","DESC":"Verstecken Sie sich vor einem alarmierten Wachmann, bis er sein Interesse verliert und zu seinem Rundgang zur�ckkehrt.","ICON":"daffa2f37b57304fe5e9897d12d68853f929b986.jpg","RATE":24.700000762939453125,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0},{"ID":"Unstoppable","NAME":"Unaufhaltbar","DESC":"Zerst�ren Sie eine verschlossene T�r.","ICON":"2a0c22b5e416e0fd97cf34fca11e086ab04b7612.jpg","RATE":13.899999618530273438,"ACHIEVED":true,"HIDDEN":false,"PERMISSION":0}],"STAT_LIST":[{"STAT_ID":"Kills_Normal_CombatRifle","STAT_DISPLAY":"Combat Rifle Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Crossbow","STAT_DISPLAY":"Crossbow Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":7,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Shotgun","STAT_DISPLAY":"Shotgun Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Pistol","STAT_DISPLAY":"Pistol Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_PlasmaRifle","STAT_DISPLAY":"Plasma Rifle Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_StunGun","STAT_DISPLAY":"Stun Gun Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":9,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_MiniRPG","STAT_DISPLAY":"Rocket Launcher Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Crossbow_Belltower","STAT_DISPLAY":"Belltower Crossbow Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Crossbow_Tyrant","STAT_DISPLAY":"Tyrant Crossbow Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_CombatRifle_Spetsnaz","STAT_DISPLAY":"Septsnaz Combat Rifle Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_MiniRPG_Belltower","STAT_DISPLAY":"Belltower Rocket Launcher Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_MiniRPG_Tyrant","STAT_DISPLAY":"Tyrant Rocket Launcher Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_PlasmaRifle_Belltower","STAT_DISPLAY":"Belltower Plasma Rifle Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_PlasmaRifle_Tyrant","STAT_DISPLAY":"Tyrant Plasma Rifle Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Shotgun_Belltower","STAT_DISPLAY":"Belltower Shotgun Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Shotgun_Panama","STAT_DISPLAY":"Panama Shotgun Normal Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_Frag","STAT_DISPLAY":"Frag Grenade Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_FragMine","STAT_DISPLAY":"Frag Mine Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_EMP","STAT_DISPLAY":"EMP Grenade Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Normal_EMPMine","STAT_DISPLAY":"EMP Mine Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_CombatRifle","STAT_DISPLAY":"Combat Rifle Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Crossbow","STAT_DISPLAY":"Crossbow Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":2,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Shotgun","STAT_DISPLAY":"Shotgun Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Pistol","STAT_DISPLAY":"Pistol Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_PlasmaRifle","STAT_DISPLAY":"Plasma Rifle Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_StunGun","STAT_DISPLAY":"Stun Gun Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_CombatRifle_Spetsnaz","STAT_DISPLAY":"Spetsnaz Combat Rifle Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Crossbow_Belltower","STAT_DISPLAY":"Belltower Crossbow Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Crossbow_Tyrant","STAT_DISPLAY":"Tyrant Crossbow Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamaniam Police Pistol Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_PlasmaRifle_Belltower","STAT_DISPLAY":"Belltower Plasma Rifle Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_PlasmaRifle_Tyrant","STAT_DISPLAY":"Tyrant Plasma Rifle Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Shotgun_Belltower","STAT_DISPLAY":"Belltower Shotgun Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Kills_Headshot_Shotgun_Panama","STAT_DISPLAY":"Panama Shotgun Headshot Kills","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Booted","STAT_DISPLAY":"Has Booted","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Takedowns_Lethal","STAT_DISPLAY":"Lethal Takedowns","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":2,"STAT_INCREMENTONLY":true},{"STAT_ID":"Takedowns_NonLethal","STAT_DISPLAY":"Non-Lethal Takedowns","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":75,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_CombatRifle","STAT_DISPLAY":"Combat Rifle Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Crossbow","STAT_DISPLAY":"Crosbow Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Shotgun","STAT_DISPLAY":"Shotgun Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Pistol","STAT_DISPLAY":"Pistol Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_PlasmaRifle","STAT_DISPLAY":"Plasma Rifle Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_StunGun","STAT_DISPLAY":"Stun Gun Damge Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_MiniRPG","STAT_DISPLAY":"Rocket Launcher Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_CombatRifle_Spetsnaz","STAT_DISPLAY":"Spetsnaz Combat Rifle Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Crossbow_Belltower","STAT_DISPLAY":"Belltower Crossbow Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Crossbow_Tyrant","STAT_DISPLAY":"Tyrant Crossbow Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_MiniRPG_Belltower","STAT_DISPLAY":"Belltower Rocket Launcher Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_MiniRPG_Tyrant","STAT_DISPLAY":"Tyrant Rocket Launcher Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_PlasmaRifle_Belltower","STAT_DISPLAY":"Belltower Plasma Rifle Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_PlasmaRifle_Tyrant","STAT_DISPLAY":"Tyrant Plasma Rifle Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Shotgun_Belltower","STAT_DISPLAY":"Belltower Shotgun Dmage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Damage_Shotgun_Panama","STAT_DISPLAY":"Panama Shotgun Damage Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_CombatRifle","STAT_DISPLAY":"Combat Rifle Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Crossbow","STAT_DISPLAY":"Crossbow Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Shotgun","STAT_DISPLAY":"Shotgun Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Pistol","STAT_DISPLAY":"Pistol Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_PlasmaRifle","STAT_DISPLAY":"Plasma Rifle Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_StunGun","STAT_DISPLAY":"Stun Gun Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_MiniRPG","STAT_DISPLAY":"Rocket Launcher Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_CombatRifle_Spetsnaz","STAT_DISPLAY":"Spetsnaz Combat Rifle Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Crossbow_Belltower","STAT_DISPLAY":"Belltower Crossbow Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Crossbow_Tyrant","STAT_DISPLAY":"Tyrant Crossbow Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_MiniRPG_Belltower","STAT_DISPLAY":"Belltower Rocket Launcher Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_MiniRPG_Tyrant","STAT_DISPLAY":"Tyrant Rocket Launcher Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_PlasmaRifle_Belltower","STAT_DISPLAY":"Belltower Plasma Rifle Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_PlasmaRifle_Tyrant","STAT_DISPLAY":"Tyrant Plasma Rifle Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Shotgun_Belltower","STAT_DISPLAY":"Belltower Shotgun Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Reload_Shotgun_Panama","STAT_DISPLAY":"Panama Shotgun Reload Speed Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_CombatRifle","STAT_DISPLAY":"Combat Rifle Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Crossbow","STAT_DISPLAY":"Crossbow Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Shotgun","STAT_DISPLAY":"Shotgun Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Pistol","STAT_DISPLAY":"Pistol Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_PlasmaRifle","STAT_DISPLAY":"Plasma Rifle Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_StunGun","STAT_DISPLAY":"Stun Gun Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_MiniRPG","STAT_DISPLAY":"Rocket Launcher Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_CombatRifle_Spetsnaz","STAT_DISPLAY":"Spetsnaz Combat Rifle Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Crossbow_Belltower","STAT_DISPLAY":"Belltower Crossbow Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Crossbow_Tyrant","STAT_DISPLAY":"Tyrant Crossbow Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_MiniRPG_Belltower","STAT_DISPLAY":"Belltower Rocket Launcher Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_MiniRPG_Tyrant","STAT_DISPLAY":"Tyrant Rocket Launcher Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_PlasmaRifle_Belltower","STAT_DISPLAY":"Belltower Plasma Rifle Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_PlasmaRifle_Tyrant","STAT_DISPLAY":"Tyrant Plasma Rifle Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Shotgun_Belltower","STAT_DISPLAY":"Belltower Shotgun Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FireRate_Shotgun_Panama","STAT_DISPLAY":"Panama Shotgun Fire Rate Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_CombatRifle","STAT_DISPLAY":"Combat Rifle Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Crossbow","STAT_DISPLAY":"Crossbow Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Shotgun","STAT_DISPLAY":"Shotgun Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Pistol","STAT_DISPLAY":"Pistol Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_PlasmaRifle","STAT_DISPLAY":"lasma Rifle Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_StunGun","STAT_DISPLAY":"Stun Gun Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_MiniRPG","STAT_DISPLAY":"Rocket Launcher Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_CombatRifle_Spetsnaz","STAT_DISPLAY":"Spetsnaz Combat Rifle Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Crossbow_Belltower","STAT_DISPLAY":"Belltower Crossbow Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Crossbow_Tyrant","STAT_DISPLAY":"Tyrant Crossbow Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_MiniRPG_Belltower","STAT_DISPLAY":"Belltower Rocket Launcher Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_MiniRPG_Tyrant","STAT_DISPLAY":"Tyrant Rocket Launcher Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_PlasmaRifle_Belltower","STAT_DISPLAY":"Belltower Plasma Rifle Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_PlasmaRifle_Tyrant","STAT_DISPLAY":"Tyrant Plasma Rifle Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Shotgun_Belltower","STAT_DISPLAY":"Belltower Shotgun Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Ammo_Shotgun_Panama","STAT_DISPLAY":"Panama Shotgun Ammo Capacity Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SilencerUpgrade_CombatRifle","STAT_DISPLAY":"Combat Rifle Silencer Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_LaserSightUpgrade_CombatRifle","STAT_DISPLAY":"Combat Rifle Laser Sight Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_NonLethalDartUpgrade_Crossbow","STAT_DISPLAY":"Crossbow Non Lethal Dart Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_BurstFireUpgrade_Shotgun","STAT_DISPLAY":"Shotgun Burst Fire Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SilencerUpgrade_Pistol","STAT_DISPLAY":"Pistol Silencer Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_LaserSightUpgrade_Pistol","STAT_DISPLAY":"Pistol Laser Sight Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_ArmorPiercingUpgrade_Pistol","STAT_DISPLAY":"Pistol Armor Piercing Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_ChargedShotUpgrade_PlasmaRifle","STAT_DISPLAY":"Plasma Rifle Charged Shot Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SilencerUpgrade_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Silencer Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_LaserSightUpgrade_CombatRifle_Belltower","STAT_DISPLAY":"Belltower Combat Rifle Laser Sight Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_LaserSightUpgrade_CombatRifle_Spetsnaz","STAT_DISPLAY":"Setsnaz Combat Rifle Laser Sight Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SilencerUpgrade_CombatRifle_Spetsnaz","STAT_DISPLAY":"Spetsnaz Combat Rifle Silencer Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_NonLethalDartUpgrade_Crossbow_Belltower","STAT_DISPLAY":"Belltower Crossbow Non Lethal Dart Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SilencerUpgrade_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Silencer Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_LaserSightUpgrade_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Laser Sight Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_ArmorPiercingUpgrade_Pistol_Golden","STAT_DISPLAY":"Golden Pistol Armor Piercing Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_ArmorPiercingUpgrade_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Armor Piercing Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_LaserSightUpgrade_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Laser Sight Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SilencerUpgrade_Pistol_PanamanianPolice","STAT_DISPLAY":"Panamanian Police Pistol Silencer Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_ChargedShotUpgrade_PlasmaRifle_Belltower","STAT_DISPLAY":"Belltower Plasma Rifle Charge Shot Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_BurstFireUpgrade_Shotgun_Belltower","STAT_DISPLAY":"Belltower Shotgun Burst Fire Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_BurstFireUpgrade_Shotgun_Panama","STAT_DISPLAY":"Panama Shotgun Burst Fire Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_AimStabilization","STAT_DISPLAY":"Aim Stabilization Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Movement","STAT_DISPLAY":"Movement Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_HackingCapture","STAT_DISPLAY":"Hacking Capture Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SocialEnhancer","STAT_DISPLAY":"Social Enhancer Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Energy","STAT_DISPLAY":"Energy Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Strength","STAT_DISPLAY":"Strength Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.5,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_InfoLink","STAT_DISPLAY":"Info Link Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Cloaking","STAT_DISPLAY":"Cloaking Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.3333333432674407959,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_IcarusLanding","STAT_DISPLAY":"Icarus Landing Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Armor","STAT_DISPLAY":"Armor Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_SmartVision","STAT_DISPLAY":"Smart Vision Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_ReflexBooster","STAT_DISPLAY":"Reflex Booster Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_HackingFortify","STAT_DISPLAY":"Hacking Fortify Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_HackingStealth","STAT_DISPLAY":"Hacking Stealth Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":1.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_Radar","STAT_DISPLAY":"Radar Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_StealthDash","STAT_DISPLAY":"Stealth Dash Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Upgrade_Percent_FlashSuppressant","STAT_DISPLAY":"Flash Suppressant Upgrade Percent","STAT_PERMISSION":0,"STAT_TYPE":2,"STAT_VALUE":0.0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Bundle_Explosive","STAT_DISPLAY":"Has Purchased Explosive Bundle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Bundle_Merciful","STAT_DISPLAY":"Has Purchased Merciful Bundle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Bundle_Infiltrator","STAT_DISPLAY":"Has Purchased Infiltrator Bundle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Bundle_SuperAug","STAT_DISPLAY":"Has Purchased Super Aug Bundle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_CombatRifle","STAT_DISPLAY":"Has Purchased Combat Rifle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Crossbow","STAT_DISPLAY":"Has Purchased Crossbow","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Shotgun","STAT_DISPLAY":"Has Purchased Shotgun","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Pistol","STAT_DISPLAY":"Has Purchased Pistol","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_PlasmaRifle","STAT_DISPLAY":"Has Purchased Plasma Rifle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_StunGun","STAT_DISPLAY":"Has Purchased Stun Gun","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_MiniRPG","STAT_DISPLAY":"Has Purchased Rocket Launcher","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_CombatRifle_Belltower","STAT_DISPLAY":"Has Purchased Belltower Combat Rifle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_CombatRifle_Spetsnaz","STAT_DISPLAY":"Has Purchased Spetsnaz Combat Rifle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Crossbow_Belltower","STAT_DISPLAY":"Has Purchased Belltower Crossbow","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Crossbow_Tyrant","STAT_DISPLAY":"Has Purchased Tyrant Crossbow","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_MiniRPG_Belltower","STAT_DISPLAY":"Has Purchased Belltower Rocket Launcher","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_MiniRPG_Tyrant","STAT_DISPLAY":"Has Purchased Tyrant Rocket Launcher","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Pistol_Golden","STAT_DISPLAY":"Has Purchased Golden Pistol","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Pistol_PanamanianPolice","STAT_DISPLAY":"Has Purchased Panamanian Police Pistol","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_PlasmaRifle_Belltower","STAT_DISPLAY":"Has Purchased Belltower Plasma Rifle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_PlasmaRifle_Tyrant","STAT_DISPLAY":"Has Purchased Tyrant Plasma Rifle","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Shotgun_Belltower","STAT_DISPLAY":"Has Purchased Belltower Shotgun","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Shotgun_Panama","STAT_DISPLAY":"Has Purchased Panama Shotgun","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Frag","STAT_DISPLAY":"Has Purchased Frag Grenade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_FragMine","STAT_DISPLAY":"Has Purchased Frag Mine","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_EMP","STAT_DISPLAY":"Has Purchased EMP Grenade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_EMPMine","STAT_DISPLAY":"Has Purchased EMP Mine","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Ammo_CombatRifle_Normal","STAT_DISPLAY":"Has Purchased Combat Rifle Ammo","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Ammo_Crossbow_Normal","STAT_DISPLAY":"Has Purchased Crossbow Ammo","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Ammo_Shotgun_Normal","STAT_DISPLAY":"Has Purchased Shotgun Ammo","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Ammo_MiniRPG_Normal","STAT_DISPLAY":"Has Purchased Rocket Launcher Ammo","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Ammo_Pistol_Normal","STAT_DISPLAY":"Has Purchased Pistol Ammo","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Ammo_PlasmaRifle_Normal","STAT_DISPLAY":"Has Purchased Plasma Rifle Ammo","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Ammo_StunGun_Normal","STAT_DISPLAY":"Has Purchased Stun Gun Ammo","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_EnergyBar","STAT_DISPLAY":"Has Purchased Energy Bar","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Beer","STAT_DISPLAY":"Has Purchased Beer","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_GutPunch","STAT_DISPLAY":"Has Purchased Gut Punch","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Wine","STAT_DISPLAY":"Has Purchased Wine","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Painkillers","STAT_DISPLAY":"Has Purchased Painkillers","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_PraxisKit","STAT_DISPLAY":"Has Purchased Praxis Kit","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_RevivePack","STAT_DISPLAY":"Has Purchased Revive Pack","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_AutoHack","STAT_DISPLAY":"Has Purchased AutoHack","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Nuke","STAT_DISPLAY":"Has Purchased Nuke","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_StopWorm","STAT_DISPLAY":"Has Purchased Stop Worm","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_DamageStatEnhancer","STAT_DISPLAY":"Has Purchased Damage Stat Enhancer","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_FireRateStatEnhancer","STAT_DISPLAY":"Has Purchased Fire Rate Stat Enhancer","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_ReloadStatEnhancer","STAT_DISPLAY":"Has Purchased Reload Stat Enhancer","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_AmmoStatEnhancer","STAT_DISPLAY":"Has Purchased Ammo Stat Enhancer","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_SilencerUpgrade","STAT_DISPLAY":"Has Purchased Silencer Upgrade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_LaserSightUpgrade","STAT_DISPLAY":"Has Purchased Laser Sight Upgrade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_BurstFireUpgrade","STAT_DISPLAY":"Has Purchased Burst Fire Upgrade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_NonLethalDartUpgrade","STAT_DISPLAY":"Has Purchased Non Lethal Dart Upgrade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_ChargedShotUpgrade","STAT_DISPLAY":"Has Purchased Charged Shot Upgrade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_ArmorPiercingUpgrade","STAT_DISPLAY":"Has Purchased Armor Piercing Upgrade","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_AimStabilization","STAT_DISPLAY":"Has Purchased Aim Stabilization","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Movement","STAT_DISPLAY":"Has Purchased Movement","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_HackingCapture","STAT_DISPLAY":"Has Purchased Hacking Capture","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_SocialEnhancer","STAT_DISPLAY":"Has Purchased Social Enhancer","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Energy","STAT_DISPLAY":"Has Purchased Energy","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Strength","STAT_DISPLAY":"Has Purchased Strength","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_InfoLink","STAT_DISPLAY":"Has Purchased Info Link","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Cloaking","STAT_DISPLAY":"Has Purchased Cloaking","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_IcarusLanding","STAT_DISPLAY":"Has Purchased Icarus Landing","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Armor","STAT_DISPLAY":"Has Purchased Armor","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_SmartVision","STAT_DISPLAY":"Has Purchased Smart Vision","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_ReflexBooster","STAT_DISPLAY":"Has Purchased Reflex Booster","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_HackingFortify","STAT_DISPLAY":"Has Purchased Hacking Fortify","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_HackingStealth","STAT_DISPLAY":"Has Purchased Hacking Stealth","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_Radar","STAT_DISPLAY":"Has Purchased Radar","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_StealthDash","STAT_DISPLAY":"Has Purchased Stealth Dash","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Has_Purchased_FlashSuppressant","STAT_DISPLAY":"Has Purchased Flash Suppressant","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Bundle_Explosive","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Bundle_Merciful","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Bundle_Infiltrator","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Bundle_SuperAug","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_CombatRifle","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Crossbow","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Shotgun","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Pistol","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_PlasmaRifle","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":2,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_StunGun","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_MiniRPG","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_CombatRifle_Belltower","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_CombatRifle_Spetsnaz","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Crossbow_Belltower","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Crossbow_Tyrant","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_MiniRPG_Belltower","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_MiniRPG_Tyrant","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Pistol_Golden","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Pistol_PanamanianPolice","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_PlasmaRifle_Belltower","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_PlasmaRifle_Tyrant","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Shotgun_Belltower","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Shotgun_Panama","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Frag","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_FragMine","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_EMP","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_EMPMine","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Ammo_CombatRifle_Normal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Ammo_Crossbow_Normal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Ammo_Shotgun_Normal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Ammo_MiniRPG_Normal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Ammo_Pistol_Normal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Ammo_PlasmaRifle_Normal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Ammo_StunGun_Normal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_EnergyBar","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":10,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Beer","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_GutPunch","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Wine","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Painkillers","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_PraxisKit","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":9,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_RevivePack","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_AutoHack","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_Nuke","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_StopWorm","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_DamageStatEnhancer","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":2,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_FireRateStatEnhancer","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":2,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_ReloadStatEnhancer","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_AmmoStatEnhancer","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_SilencerUpgrade","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_LaserSightUpgrade","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_BurstFireUpgrade","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_NonLethalDartUpgrade","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_ChargedShotUpgrade","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Purchases_ArmorPiercingUpgrade","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_EnergyBar","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":25,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Beer","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":74,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_GutPunch","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Wine","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Painkillers","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_RevivePack","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_AutoHack","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Nuke","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":6,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_StopWorm","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Cloaking","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":2,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Armor","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_SmartVision","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_StealthDash","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Strength_Move_Heavy_Object","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":17,"STAT_INCREMENTONLY":true},{"STAT_ID":"Uses_Strength_Break_Wall","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":6,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_Turntable","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaBTEntry","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaBTHelipad","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaLimbClinic","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaHotelRoof","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaDrugEntry","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaDrugGarage","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaDrugLab","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaCorporation","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaHotelLobby","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaHotelRooms","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaSlums","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaDowntownStreets","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaBoardwalk","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaTrainStation","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaNightClub","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_PanamaUGClinic","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_CostaRicaSafehouse","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_Jetliner","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_MoscowHotelRooftop","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_MoscowHotelSneaking","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_MoscowHotelCombat","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Level_Complete_MoscowHotelKontarsky","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Moscow_Hotel_Rooftop","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Moscow_Hotel_Sneaking","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Moscow_Hotel_Combat","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Hotel_Konstarsky","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Jetliner","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Prologue_Killed_Kontarsky","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Prologue_Spared_Kontarsky","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":1,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Costa_Rica_chose_Lethal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Costa_Rica_chose_Non-Lethal","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_Hub_Started","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_Slum_Gang_Warning","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_Visited_Doctor","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_Visited_Limb","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_Limb_Mission_Complete","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_Visited_Pilot","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_VIP_Found","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_VIP_Mission_Complete","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_VTOL_Mission_Complete","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_started_Drug_Runner_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_completed_Drug_Runner_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_started_Missing_Junkie_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_completed_Missing_Junkie_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_started_Dirty_Deeds_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_completed_Dirty_Deeds_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_started_Ratting_Out_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_completed_Ratting_Out_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_completed_Ratting_Out_side_quest_by_warning_Alvarez","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_started_Stalkers_sidequest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_completed_Stalkers_side_quest","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_lied_to_Camila","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_took_no_reward_from_Camila","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Hub_Started","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Visited_Anna","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Visited_Isaac","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Implant_Removed","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Visited_Hackers","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Planted_Uplink","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Hacked_Bank","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Escaped_Belltower_Raid","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_NYC_Infiltrated_Stock_Exchange","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true},{"STAT_ID":"Story_Progress_Panama_have_LIMB_card","STAT_DISPLAY":"","STAT_PERMISSION":0,"STAT_TYPE":1,"STAT_VALUE":0,"STAT_INCREMENTONLY":true}]}

Can't run the AppImage.

I get this output when launching the AppImage.
I'm on Mint 20

./SamRewritten-fixed-x86_64.AppImage 

(samrewritten:13495): Gtk-WARNING **: 19:15:35.569: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Mint-Y/actions/16/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: cairo_font_options_get_variations (gdk-pixbuf-error-quark, 5)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Mint-Y/actions/16/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: cairo_font_options_get_variations (gdk-pixbuf-error-quark, 5)
/tmp/.mount_SamRew87bzE0/AppRun: line 8: 13495 Aborted                 (core dumped) ${SCRIPT_PATH}/samrewritten $@

Flatpak steam support

I tried to use SamRewritten with a Flatpak Steam installation. First it don't found the Steam installation.
I added the next to MySteam.cpp (54):
else if (file_exists(home_path + "/.var/app/com.valvesoftware.Steam/.local/share/Steam/appcache/appinfo.vdf")) { m_steam_install_dir = std::string(home_path + "/.var/app/com.valvesoftware.Steam/.local/share/Steam"); return; }

Now it worked, but when I tried to open any game it crashed with the following errors:

$ ./bin/launch.sh [S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam. dlopen failed trying to load: /home/krisztian/.steam/sdk64/steamclient.so with error: /home/krisztian/.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory [S_API] SteamAPI_Init(): Sys_LoadModule failed to load: /home/krisztian/.steam/sdk64/steamclient.so An error occurred launching the Steam API. Aborting. Read pipe encountered fatal error.

I tried to debug it, but I don't able to find where the program determine the path to the steamclient.so

Add Steam stats

Main advantage original SAM, this unlock algorithm. It doesn’t just unlock, he emulating game process.
For example when you unlock RANK achievement with original SAM in Dead by Daylight, you gets this RANK in game or achievements for kills in Insurgency, you gets it kill count in game.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.