NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Fitocracy Profile - Big Three // @namespace https://www.fitocracy.com // @version 0.1 // @description This script will calculate the top of your Big Three movements using One Repetition Max formula and show it on Fitocracy profile screen // @author You // @match https://www.fitocracy.com/profile/* // @grant none // ==/UserScript== var getBench = function(){ var url='https://www.fitocracy.com/_get_activity_history_json/?activity-id=1'; return $.get(url); }; var getSquat = function(){ var url='https://www.fitocracy.com/_get_activity_history_json/?activity-id=2'; return $.get(url); }; var getDeadlift = function(){ var url='https://www.fitocracy.com/_get_activity_history_json/?activity-id=3'; return $.get(url); }; var getBestOne = function(actions){ max = actions[0].points; imax = 0; for (i = 1; i < actions.length; i++) { if (actions[i].points > max) { max = actions[i].points; imax = i; } } return {"weight":actions[imax].effort0,"reps":actions[imax].effort1}; }; var get1RM = function(record){ return record.weight*(1+record.reps/30); }; $(document).ready(function() { //clean up space $('.left.center-parent').select('').remove(); $.when( getBench(), getSquat(), getDeadlift() ).done(function(v1,v2,v3){ //console.log(v1[0]); v1 = v1[0]; v2 = v2[0]; v3 = v3[0]; //select last one bp = v1[v1.length-1]; sq = v2[v2.length-1]; dl = v3[v3.length-1]; //console.log(bp.actions); bp = getBestOne(bp.actions); sq = getBestOne(sq.actions); dl = getBestOne(dl.actions); //Epley formula for 1rm bp1rm = get1RM(bp); sq1rm = get1RM(sq); dl1rm = get1RM(dl); val = (bp1rm+sq1rm+dl1rm).toString(); //Add element var newline = '<li id="stat-lifts"><div class="li-container"><div class="stat-value">'+val+'</div><div class="stat-label">Big Three Latest</div></div></li>'; $('#profile-stats-panel').append(newline); } ); });