User Pass
Home Sign Up Contact Log In
Forum > Goal Line Blitz > Did anyone come out with a VPB for the new server address?
Page:
 
yello1
Preacher
offline
Link
 
Did anyone come out with a VPB for the new server address?

Modifying the script is just not on my to do list. Has anyone else done it for me yet?
 
ninja turtles
offline
Link
 
nope. everyone has now quit using the VPB as a result.
 
Robbnva
offline
Link
 
a while ago actually
 
JoeRule124
offline
Link
 
Originally posted by Robbnva
a while ago actually


Or one that doesn't turn the 'next day' button disabled after boosting?
 
Farlig
offline
Link
 
This one works for me: https://greasyfork.org/scripts/1338-glb-player-builder
 
foshizzel17
my drizzt
offline
Link
 
you still need a VPB?
 
yello1
Preacher
offline
Link
 
Originally posted by foshizzel17
you still need a VPB?


Just to figure out how badly I borked my AEQ.
 
yello1
Preacher
offline
Link
 
Originally posted by Farlig
This one works for me: https://greasyfork.org/scripts/1338-glb-player-builder


Thanks!
 
Dub J
offline
Link
 
Originally posted by ninja turtles
nope. everyone has now quit using the VPB as a result.


I never used it in the first place.

 
F8n4tune
offline
Link
 
Any of the other scripts there ? Only a few of mine work and can't redo them.

EDIT: Also do I need to download the Fork or will those by pabst work with the Monkey ? Thanks.
Edited by F8n4tune on Jul 17, 2014 07:53:40
 
JoeRule124
offline
Link
 
Originally posted by Farlig
This one works for me: https://greasyfork.org/scripts/1338-glb-player-builder




Originally posted by F8n4tune
Any of the other scripts there ? Only a few of mine work and can't redo them.

EDIT: Also do I need to download the Fork or will those by pabst work with the Monkey ? Thanks.


They will work with monkey
 
schneidsm
offline
Link
 
Doesn't work for me
fml
 
JoeRule124
offline
Link
 
Originally posted by schneidsm
Doesn't work for me
fml


Make sure you disable the old one
 
schneidsm
offline
Link
 
did, now niether work
 
Farlig
offline
Link
 
Well crap. If you know how to edit the script below is the full code I pulled from the one currently working for me. Just delete the script in the old one and paste this in:

// ==UserScript==
// @name GLB Player Builder
// @namespace pbr
// @description simulate a player's build
// @include http://goallineblitz.com/game/skill_points.pl?player_id=*
// @include http://glb.warriorgeneral.com/game/skill_points.pl?player_id=*
// @version 14.04.20-pabst
// ==/UserScript==
// Original script written by monsterkill. Accelerated Player Development changes made by AirMcMVP.
// Training gains at high attribute values, including hardcoding, fixed by mandyross ...
// see https://sites.google.com/site/glbmandyross/training_hotspots
// pabst fixed something 3/4/2012 and fixed multitraining 7/18/2013 and other stuff later


var autoTrain = true;

var offseasonLength = 8;
var preseasonLength = 8;
var automaticSeasonChange = true;
var sitout_first_season = false;
var game_xp_factor = 1.0;
var daily_xp_factor = 1.0;
var va_xp_factor = 1.0;
var training_points_per_day = 2;
var sp_increase = 0 ;
var boost_count = 0 ;
var max_boosts_per_season = 3;
var plateau_age = 280;
var extended_plateau_age = 281;
var desiredBT = 0;
var disableSerialization = false;
var enableDesiredBTCheck = true;//enable to set a desired BT amount for age 280 and training will check for when you need to start light training
var logTrainingCalcs = false;// send text to the console log to trace the bonuses applied during training
var commonHeaders = {
"User-agent": "Mozilla/5.0 (compatible) Greasemonkey"
,
"Accept": "text/html,application/xml,text/xml"
};

/* start constants */
var TRAININGTYPE = {
LIGHT: 0,
NORMAL: 1,
INTENSE: 2,
MULTI: 3
}
var trainingTypes = {
'light' : TRAININGTYPE.LIGHT,
'normal' : TRAININGTYPE.NORMAL,
'intense' : TRAININGTYPE.INTENSE,
'multi' : TRAININGTYPE.MULTI
};
var attributeTrainingOptions = [ 'strength',
'speed',
'agility',
'jumping',
'stamina',
'vision',
'confidence',
'blocking',
'throwing',
'catching',
'carrying',
'tackling',
'kicking',
'punting'
];
/* end constants */



var containerDiv = document.createElement('div');
// change this if you want the controls somewhere else
document.getElementById("special_abilities").appendChild(containerDiv);

var startBuilderButton = addElement('input', 'startBuilderButton', containerDiv, {
type: "button",
value: "Start Builder"
});
startBuilderButton.addEventListener("click", startBuilder, true);


var topTableRow = addElement('tr', 'topTableRow', addElement('table', 'topTable', containerDiv));
GM_addStyle("#topTable {width: 100%}");
var previousDayTD = addElement('td', 'previousDayTD', topTableRow);
var previousDayButton = addElement('input', 'previousDayButton', previousDayTD, {
type: "button",
value: "Previous Day"
});
previousDayButton.addEventListener("click", restoreBuild, true);
GM_addStyle("#previousDayButton {display: none}");
GM_addStyle("#previousDayTD {width: 50%}");

var nextDayTD = addElement('td', 'nextDayTD', topTableRow);
var nextDayButton = addElement('input', 'nextDayButton', addElement('td', null, nextDayTD), {
type: "button",
value: "Next Day"
});
nextDayButton.addEventListener("click", incrementDay, true);
GM_addStyle("#nextDayButton {display: none}");
GM_addStyle("#nextDayTD {width: 50%}");

var loadSavedBuildButton = document.createElement('input');
loadSavedBuildButton.id = "loadSavedBuildButton";
loadSavedBuildButton.type = "button";
loadSavedBuildButton.value = "Load a Saved Build";
loadSavedBuildButton.addEventListener("click", loadSavedBuild, true);
containerDiv.appendChild(loadSavedBuildButton);
if (disableSerialization) {
GM_addStyle("#loadSavedBuildButton {display: none}");
}

/*
var convertBuildButton = document.createElement('input');
convertBuildButton.id = "convertBuildButton";
convertBuildButton.type = "button";
convertBuildButton.value = "Convert a Saved Build";
convertBuildButton.addEventListener("click", convertSavedBuild, true);
containerDiv.appendChild(convertBuildButton);
if (disableSerialization) {
GM_addStyle("#convertBuildButton {display: none}");
}
*/

var startSeasonButton = document.createElement('input');
startSeasonButton.id = "startSeasonButton";
startSeasonButton.type = "button";
startSeasonButton.value = "Start Season";
startSeasonButton.addEventListener("click", startSeason, true);
containerDiv.appendChild(startSeasonButton);
GM_addStyle("#startSeasonButton {display: none}");

var boostButton = document.createElement('input');
boostButton.id = "boostButton";
boostButton.type = "button";
boostButton.value = "Boost";
boostButton.addEventListener("click", boost, true);
containerDiv.appendChild(boostButton);
GM_addStyle("#boostButton {display: none}");

var currentSeasonDiv = document.createElement('div');
currentSeasonDiv.id = "currentSeasonDiv";
containerDiv.appendChild(currentSeasonDiv);
var currentDayDiv = document.createElement('div');
currentDayDiv.id = "currentDayDiv";
containerDiv.appendChild(currentDayDiv);
var currentAgeDiv = document.createElement('div');
currentAgeDiv.id = "currentAgeDiv";
containerDiv.appendChild(currentAgeDiv);

var availableBoostsDiv = document.createElement('div');
availableBoostsDiv.id = "availableBoostsDiv";
containerDiv.appendChild(availableBoostsDiv);

var boostCountDiv = document.createElement('div');
boostCountDiv.id = "boostCountDiv";
containerDiv.appendChild(boostCountDiv);

// level and experience
var currentLevelDiv = document.createElement('div');
currentLevelDiv.id = "currentLevelDiv";
containerDiv.appendChild(currentLevelDiv);
var currentXPDiv = document.createElement('div');
currentXPDiv.id = "currentXPDiv";
containerDiv.appendChild(currentXPDiv);

// stop game xp button
var stopGameXPButton = addElement('input','stopGameXPButton', containerDiv, {
type: "button",
value: "Turn Off Game XP"
});
stopGameXPButton.addEventListener("click", turnOffGameXP, true);
GM_addStyle("#stopGameXPButton {display: none}");
// start game xp button
var startGameXPButton = document.createElement('input');
startGameXPButton.id = "startGameXPButton";
startGameXPButton.type = "button";
startGameXPButton.value = "Turn On Game XP";
startGameXPButton.addEventListener("click", turnOnGameXP, true);
containerDiv.appendChild(startGameXPButton);
GM_addStyle("#startGameXPButton {display: none}");

// even game day button
var gameDayEvenButton = addElement('input','gameDayEvenButton', containerDiv, {
type: "button",
value: "Run games on even days"
});
gameDayEvenButton.addEventListener("click", enableEvenDayGames, true);
GM_addStyle("#gameDayEvenButton {display: none}");

// odd game day button
var gameDayOddButton = addElement('input','gameDayOddButton', containerDiv, {
type: "button",
value: "Run games on odd days"
});
gameDayOddButton.addEventListener("click", enableOddDayGames, true);
GM_addStyle("#gameDayOddButton {display: none}");

// veteran xp and points
var currentVAXPDiv = document.createElement('div');
currentVAXPDiv.id = "currentVAXPDiv";
containerDiv.appendChild(currentVAXPDiv);
var currentVADiv = document.createElement('div');
currentVADiv.id = "currentVADiv";
containerDiv.appendChild(currentVADiv);

// bonus tokens
var currentBTDiv = document.createElement('span');
currentBTDiv.id = "currentBTDiv";
containerDiv.appendChild(currentBTDiv);
var spendBTButton = document.createElement('input');
spendBTButton.id = "spendBTButton";
spendBTButton.type = "button";
spendBTButton.value = "Spend 15 BT for 1 SP";
spendBTButton.addEventListener("click", spendBT, true);
containerDiv.appendChild(spendBTButton);
GM_addStyle("#spendBTButton {display: none}");

if (enableDesiredBTCheck) {
var btWarningDiv = addElement('div', 'btWarningDiv', containerDiv);
var btWarningButton = addElement('input', "btWarningButton", btWarningDiv, {
type: "button",
value: "Set Desired BT for Day 280"
});
btWarningButton.addEventListener("click", promptForDesiredBT, true);
}
GM_addStyle("#btWarningDiv {display: none}");
addElement('hr', null, containerDiv);

// training
var currentTPDiv = addElement('div', 'currentTPDiv', containerDiv);

var trainingDiv = addElement('div', 'trainingDiv', containerDiv, {innerHTML : '<select id="trainingSelect"></select>'});
GM_addStyle("#trainingDiv {display: none}");

// populate training options
var trainingSelect = document.getElementById('trainingSelect');
for (k in trainingTypes) {
addElement('option', 'trainingTypeOption'+trainingTypes[k], trainingSelect, {
value: trainingTypes[k],
innerHTML: k
});
}
trainingSelect.addEventListener("change", trainingTypeChanged, true);
function trainingTypeChanged(val) {
var trainingType = document.getElementById('trainingSelect').selectedIndex;
if (trainingType==TRAININGTYPE.LIGHT) {
GM_addStyle("#singleTrainDiv {display: block}");
GM_addStyle("#multiTrainDiv {display: none}");
} else if (trainingType==TRAININGTYPE.NORMAL) {
GM_addStyle("#singleTrainDiv {display: block}");
GM_addStyle("#multiTrainDiv {display: none}");
} else if (trainingType==TRAININGTYPE.INTENSE) {
GM_addStyle("#singleTrainDiv {display: block}");
GM_addStyle("#multiTrainDiv {display: none}");
} else if (trainingType==TRAININGTYPE.MULTI) {
GM_addStyle("#singleTrainDiv {display: none}");
GM_addStyle("#multiTrainDiv {display: block}");
}
updateTrainingPrediction();
}
// container for the single training drop down
var singleTrainDiv = addElement('div', 'singleTrainDiv', trainingDiv);
var singleTrainSelect = addElement('select', 'singleTrainSelect', singleTrainDiv);
fillAttributeDropdown(singleTrainSelect);
singleTrainSelect.addEventListener("change", updateTrainingPrediction, true);

// container for the multi training drop downs
var multiTrainDiv = addElement('div', 'multiTrainDiv', trainingDiv);
GM_addStyle("#multiTrainDiv {display: none}");

var multiTrainSelect1 = addElement('select', 'multiTrainSelect1', multiTrainDiv);
addElement('option', null, multiTrainSelect1, {value: null, innerHTML: 'None'});
fillAttributeDropdown(multiTrainSelect1, 'mt1');
multiTrainSelect1.value = "";
multiTrainSelect1.addEventListener("change", multiTrainSelectChanged, true);

var multiTrainSelect2 = addElement('select', 'multiTrainSelect2', multiTrainDiv);
addElement('option', null, multiTrainSelect2, {value: null, innerHTML: 'None'});
multiTrainSelect2.addEventListener("change", multiTrainSelectChanged, true);

var multiTrainSelect3 = addElement('select', 'multiTrainSelect3', multiTrainDiv);
addElement('option', null, multiTrainSelect3, {value: null, innerHTML: 'None'});
multiTrainSelect3.addEventListener("change", multiTrainSelectChanged, true);

var multiTrainSelect4 = addElement('select', 'multiTrainSelect4', multiTrainDiv);
addElement('option', null, multiTrainSelect4, {value: null, innerHTML: 'None'});
multiTrainSelect4.addEventListener("change", multiTrainSelectChanged, true);
var trainButton = addElement('input', 'trainButton', trainingDiv, {
type : "button",
value : "Train"
});
trainButton.addEventListener("click", train, true);
GM_addStyle("#trainButton {display: block}");

// training prediction text
var trainPredictionSpan = addElement('span', 'trainPredictionSpan', trainingDiv);
trainPredictionSpan.innerHTML="Training Prediction";

var enhanceTrainingButton = addElement('input', 'enhanceTrainingButton', trainingDiv, {
type : "button",
value : "Buy Training Enhancements"
});
enhanceTrainingButton.addEventListener("click", enhanceTraining, true);
GM_addStyle("#enhanceTrainingButton {display: block}");
var multiTrainingButton = addElement('input', 'multiTrainingButton', trainingDiv, {
type : "button",
value : "Buy Multi Training"
});
multiTrainingButton.addEventListener("click", multiTraining, true);
GM_addStyle("#multiTrainingButton {display: block}");

var span = document.createElement('span');
span.id="autoTrainSpan";
span.innerHTML = "Auto Train when points are available : ";
trainingDiv.appendChild(span);
var autoTrainBox = document.createElement('input');
autoTrainBox.id = "autoTrainBox";
autoTrainBox.type = "checkbox";
autoTrainBox.addEventListener("click", function() {
autoTrain = document.getElementById("autoTrainBox").checked;
}, true);
trainingDiv.appendChild(autoTrainBox);
autoTrainBox.checked = autoTrain;
GM_addStyle("#trainingDiv {display: none}");

addElement('hr', null, containerDiv);

var serializeButton = addElement('input', "serializeButton", containerDiv, {
type: "button",
value: "Generate a key for this build"
});
serializeButton.addEventListener("click", getSerializedBuild, true);
GM_addStyle("#serializeButton {display: none}");

var printFriendlyButton = addElement('input', "printFriendlyButton", containerDiv, {
type: "button",
value: "Create Print Friendly text"
});
printFriendlyButton.addEventListener("click", getPrintFriendlyText, true);
GM_addStyle("#printFriendlyButton {display: none}");


var position;
var season = 0;
var level = -1;
var xp = 0;
var day = 1;
var tp = 0;
var availableBoosts = 0;
var buildFromScratch = true;
var vaxp = 0;
var va = 0;
var age = 0;
var playerId = parsePlayerId();

/*

weightOptions: the number of increments on each side of the weight slider not including 0.
EX: weightOptions = 4 means there's 9 possible weights for the position.
*/
var positionData = {
qb_pocket_passer: {
majors: ["confidence","throwing","vision"],
minors: ["agility","stamina","strength", "carrying"],
weightOptions: 18,
heightOptions: 3
},
qb_deep_passer: {
majors: ["strength","throwing","vision"],
minors: ["agility","stamina","confidence", "carrying"],
weightOptions: 18,
heightOptions: 3
},
qb_scrambler: {
majors: ["agility","throwing","vision"],
minors: ["confidence","speed","strength", "carrying"],
weightOptions: 18,
heightOptions: 3
},
hb_power_back: {
majors: ["agility","carrying","confidence", "strength"],
minors: ["jumping","speed","stamina","vision"],
weightOptions: 22,
heightOptions: 2
},
hb_elusive_back: {
majors: ["agility","carrying","speed", "vision"],
minors: ["catching","confidence","stamina","strength"],
weightOptions: 22,
heightOptions: 2
},
hb_scat_back: {
majors: ["agility","catching","speed", "carrying"],
minors: ["vision","confidence","stamina","jumping"],
weightOptions: 22,
heightOptions: 2
},
hb_combo_back: {
majors: ["carrying","confidence","speed", "strength", "vision"],
minors: ["agility","catching","stamina","jumping"],
weightOptions: 22,
heightOptions: 2
},
hb_returner: {
majors: ["carrying","stamina","speed", "agility", "vision"],
minors: ["confidence","strength","jumping"],
weightOptions: 22,
heightOptions: 2
},
hb_special_teamer: {
majors: ["blocking","stamina","speed", "agility", "tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 22,
heightOptions: 2
},
fb_rusher: {
majors: ["agility","carrying","confidence", "strength"],
minors: ["blocking","speed","stamina","vision"],
weightOptions: 22,
heightOptions: 2
},
fb_blocker: {
majors: ["agility","blocking","strength", "vision"],
minors: ["carrying","confidence","stamina","speed"],
weightOptions: 22,
heightOptions: 2
},
fb_combo_back: {
majors: ["agility","carrying","blocking", "strength", "vision"],
minors: ["catching","confidence","speed","jumping"],
weightOptions: 22,
heightOptions: 2
},
fb_scat_back: {
majors: ["agility","catching","speed", "vision"],
minors: ["blocking","confidence","carrying","jumping"],
weightOptions: 22,
heightOptions: 2
},
fb_special_teamer: {
majors: ["agility","stamina","speed", "blocking", "tackling"],
minors: ["strength","confidence","vision"],
weightOptions: 22,
heightOptions: 2
},
wr_speedster: {
majors: ["agility","catching","speed", "vision", "confidence"],
minors: ["carrying","jumping","stamina"],
weightOptions: 9,
heightOptions: 3
},
wr_possession_receiver: {
majors: ["agility","catching","jumping", "vision", "carrying"],
minors: ["confidence","speed","stamina"],
weightOptions: 9,
heightOptions: 3
},
wr_power_receiver: {
majors: ["agility","catching","carrying", "strength", "vision"],
minors: ["confidence","speed","stamina"],
weightOptions: 9,
heightOptions: 3
},
wr_returner: {
majors: ["agility","carrying","speed", "stamina", "vision"],
minors: ["confidence","jumping","strength"],
weightOptions: 9,
heightOptions: 3
},
wr_special_teamer: {
majors: ["agility","blocking","speed", "stamina", "tackling"],
minors: ["strength","confidence","vision"],
weightOptions: 9,
heightOptions: 3
},
te_blocker: {
majors: ["agility","blocking","vision", "strength","confidence"],
minors: ["catching","speed","stamina"],
weightOptions: 9,
heightOptions: 3
},
te_receiver: {
majors: ["agility","speed","catching","vision","carrying"],
minors: ["strength","blocking","stamina"],
weightOptions: 9,
heightOptions: 3
},
te_power_receiver : {
majors: ["agility","strength","catching","confidence","carrying"],
minors: ["speed","blocking","stamina"],
weightOptions: 9,
heightOptions: 3
},
te_dual_threat: {
majors: ["agility","blocking","catching", "strength", "vision"],
minors: ["jumping","confidence","speed"],
weightOptions: 9,
heightOptions: 3
},
te_special_teamer: {
majors: ["agility","blocking","speed", "stamina", "tackling"],
minors: ["strength","confidence","vision"],
weightOptions: 9,
heightOptions: 3
},
c_run_blocker: {
majors: ["strength","blocking","confidence", "vision"],
minors: ["agility", "stamina","speed"],
weightOptions: 9,
heightOptions: 3
},
c_pass_blocker: {
majors: ["agility","blocking","confidence", "vision"],
minors: ["strength", "speed","stamina"],
weightOptions: 9,
heightOptions: 3
},
c_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 9,
heightOptions: 3
},
g_run_blocker: {
majors: ["strength","blocking","confidence", "vision"],
minors: ["agility", "stamina","speed"],
weightOptions: 9,
heightOptions: 3
},
g_pass_blocker: {
majors: ["agility","blocking","confidence", "vision"],
minors: ["strength", "speed","stamina"],
weightOptions: 9,
heightOptions: 3
},
g_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 9,
heightOptions: 3
},
ot_run_blocker: {
majors: ["strength","blocking","confidence", "vision"],
minors: ["agility", "stamina","speed"],
weightOptions: 9,
heightOptions: 3
},
ot_pass_blocker: {
majors: ["agility","blocking","confidence", "vision"],
minors: ["strength", "speed","stamina"],
weightOptions: 9,
heightOptions: 3
},
ot_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 9,
heightOptions: 3
},
dt_run_stuffer: {
majors: ["agility","strength","tackling", "vision"],
minors: ["confidence","stamina","speed"],
weightOptions: 18,
heightOptions: 3
},
dt_pass_rusher: {
majors: ["agility","speed","vision", "tackling"],
minors: ["confidence","stamina","strength"],
weightOptions: 18,
heightOptions: 3
},
dt_combo_tackle: {
majors: ["speed","strength","vision", "tackling"],
minors: ["agility","stamina","confidence"],
weightOptions: 18,
heightOptions: 3
},
dt_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["strength","vision","confidence"],
weightOptions: 18,
heightOptions: 3
},
de_run_stuffer: {
majors: ["agility","strength","tackling","vision"],
minors: ["confidence","stamina","speed"],
weightOptions: 18,
heightOptions: 3
},
de_pass_rusher: {
majors: ["agility","speed","vision","tackling"],
minors: ["confidence","stamina","strength"],
weightOptions: 18,
heightOptions: 3
},
de_combo_end: {
majors: ["speed","strength","vision","tackling"],
minors: ["agility","stamina","confidence"],
weightOptions: 18,
heightOptions: 3
},
de_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["strength","vision","confidence"],
weightOptions: 18,
heightOptions: 3
},
cb_man_specialist: {
majors: ["agility","jumping","speed","vision"],
minors: ["catching","confidence","stamina","tackling"],
weightOptions: 18,
heightOptions: 3
},
cb_zone_specialist: {
majors: ["agility","speed","tackling","vision"],
minors: ["catching","confidence","jumping","stamina"],
weightOptions: 18,
heightOptions: 3
},
cb_hard_hitter: {
majors: ["speed","strength","tackling","vision"],
minors: ["confidence","jumping","agility","stamina"],
weightOptions: 18,
heightOptions: 3
},
cb_combo_corner: {
majors: ["agility","speed","strength","tackling"],
minors: ["confidence","jumping","stamina","vision"],
weightOptions: 18,
heightOptions: 3
},
cb_returner: {
majors: ["agility","carrying","speed","stamina","vision"],
minors: ["confidence","jumping","strength"],
weightOptions: 18,
heightOptions: 3
},
cb_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 18,
heightOptions: 3
},
ss_man_specialist: {
majors: ["agility","jumping","speed","vision"],
minors: ["catching","confidence","stamina","tackling"],
weightOptions: 18,
heightOptions: 3
},
ss_zone_specialist: {
majors: ["agility","speed","tackling","vision"],
minors: ["catching","confidence","jumping","stamina"],
weightOptions: 18,
heightOptions: 3
},
ss_hard_hitter: {
majors: ["speed","strength","tackling","vision"],
minors: ["confidence","jumping","agility","stamina"],
weightOptions: 18,
heightOptions: 3
},
ss_combo_safety: {
majors: ["agility","speed","strength","tackling"],
minors: ["confidence","jumping","stamina","vision"],
weightOptions: 18,
heightOptions: 3
},
ss_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 18,
heightOptions: 3
},
fs_man_specialist: {
majors: ["agility","jumping","speed","vision"],
minors: ["catching","confidence","stamina","tackling"],
weightOptions: 18,
heightOptions: 3
},
fs_zone_specialist: {
majors: ["agility","speed","tackling","vision"],
minors: ["catching","confidence","jumping","stamina"],
weightOptions: 18,
heightOptions: 3
},
fs_hard_hitter: {
majors: ["speed","strength","tackling","vision"],
minors: ["confidence","jumping","agility","stamina"],
weightOptions: 18,
heightOptions: 3
},
fs_combo_safety: {
majors: ["agility","speed","strength","tackling"],
minors: ["confidence","jumping","stamina","vision"],
weightOptions: 18,
heightOptions: 3
},
fs_special_teamer: {
majors: ["agility","blocking","speed","stamina","tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 18,
heightOptions: 3
},
lb_coverage_linebacker: {
majors: ["agility","jumping","speed","vision"],
minors: ["confidence","stamina","strength","tackling"],
weightOptions: 18,
heightOptions: 3
},
lb_blitzer: {
majors: ["agility","jumping","speed","tackling"],
minors: ["confidence","stamina","strength","vision"],
weightOptions: 18,
heightOptions: 3
},
lb_hard_hitter: {
majors: ["agility","strength","tackling","vision"],
minors: ["confidence","jumping","speed","stamina"],
weightOptions: 18,
heightOptions: 3
},
lb_combo_linebacker: {
majors: ["agility","speed","tackling","vision", "confidence"],
minors: ["jumping","stamina","strength"],
weightOptions: 18,
heightOptions: 3
},
lb_special_teamer: {
majors: ["agility","blocking","speed","stamina", "tackling"],
minors: ["confidence","strength","vision"],
weightOptions: 18,
heightOptions: 3
},
k_boomer: {
majors: ["confidence","kicking","strength"],
minors: ["jumping","agility","vision"],
weightOptions: 18,
heightOptions: 3
},
k_technician: {
majors: ["confidence","kicking","vision"],
minors: ["jumping","agility","strength"],
weightOptions: 18,
heightOptions: 3
},
p_boomer: {
majors: ["confidence","punting","strength"],
minors: ["jumping","agility","vision"],
weightOptions: 18,
heightOptions: 3
},
p_technician: {
majors: ["confidence","punting","vision"],
minors: ["jumping","agility","strength"],
weightOptions: 18,
heightOptions: 3
},
de_none: {
majors: ["strength","tackling","agility","speed"],
minors: ["blocking","jumping","stamina","vision","confidence"],
weightOptions: 18,
heightOptions: 3
},
dt_none: {
majors: ["strength","tackling","agility"],
minors: ["blocking", "speed", "vision", "stamina", "confidence"],
weightOptions: 33,
heightOptions: 3
},
c_none: {
majors: ["strength","blocking"],
minors: ["tackling", "agility", "stamina", "vision", "confidence"],
weightOptions: 22,
heightOptions: 2
},
g_none: {
majors: ["strength","blocking","confidence"],
minors: ["tackling","agility","stamina","vision"],
weightOptions: 22,
heightOptions: 2
},
ot_none: {
majors: ["strength","blocking","confidence","vision","agility"],
minors: ["tackling","stamina"],
weightOptions: 25,
heightOptions: 3
},
hb_none: {
majors: ["strength","speed","agility","carrying","vision","confidence"],
minors: ["jumping","stamina","blocking","throwing","catching"],
weightOptions: 20,
heightOptions: 2
},
wr_none: {
majors: ["speed","agility","jumping","vision","stamina","catching"],
minors: ["confidence","carrying"],
weightOptions: 11,
heightOptions: 2
},
qb_none: {
majors: ["strength","throwing","stamina","vision","confidence"],
minors: ["speed","agility","jumping","catching","carrying"],
weightOptions: 9,
heightOptions: 3
},
te_none: {
majors: ["strength","blocking","catching","vision"],
minors: ["speed","tackling","agility","stamina","carrying","confidence"],
weightOptions: 22,
heightOptions: 3
},
fb_none: {
majors: ["strength","blocking","agility","carrying"],
minors: ["confidence","vision","stamina","catching","tackling"],
weightOptions: 15,
heightOptions: 3
},
lb_none: {
majors: ["strength","tackling","agility","stamina","vision","confidence"],
minors: ["blocking","speed","jumping","catching"],
weightOptions: 9,
heightOptions: 3
},
cb_none: {
majors: ["speed","agility","jumping","stamina","vision","catching"],
minors: ["strength","tackling","carrying","confidence"],
weightOptions: 11,
heightOptions: 3
},
ss_none: {
majors: ["strength","speed","tackling","stamina","vision"],
minors: ["blocking","agility","jumping","catching","carrying","confidence"],
weightOptions: 13,
heightOptions: 2
},
fs_none: {
majors: ["speed","tackling","catching","stamina","vision"],
minors: ["strength","blocking","agility","jumping","confidence","carrying"],
weightOptions: 13,
heightOptions: 2
},
k_none: {
majors: ["kicking","confidence"],
minors: ["strength","speed","agility","throwing","jumping","vision"],
weightOptions: 22,
heightOptions: 2
},
p_none: {
majors: ["punting","confidence"],
minors: ["strength","speed","agility","throwing","jumping","vision"],
weightOptions: 22,
heightOptions: 2
}

};

// dont rearrange these as this order is used for de-serializing saved builds
var minimums = {
qb_pocket_passer:{strength:"10", speed:"8", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"10", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
qb_scrambler:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"8", vision:"10", confidence:"10", blocking:"8", throwing:"10", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
qb_deep_passer:{strength:"10", speed:"8", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"10", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
hb_power_back:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
hb_scat_back:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
hb_combo_back:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
hb_returner:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
hb_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
fb_rusher:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
fb_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
fb_combo_back:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"8", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
fb_scat_back:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"8", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
fb_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
te_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"10", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
te_receiver:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"8", blocking:"10", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
te_power_receiver:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"8", confidence:"10", blocking:"10", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
te_dual_threat:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"8", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"10", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
te_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
wr_speedster:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
wr_possession_receiver:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
wr_power_receiver:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
wr_returner:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
wr_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
hb_elusive_back:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
dt_run_stuffer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
dt_pass_rusher:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
dt_combo_tackle:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
dt_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
de_run_stuffer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
de_pass_rusher:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
de_combo_end:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
de_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
cb_man_specialist:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
cb_zone_specialist:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
cb_hard_hitter:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
cb_combo_corner:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
cb_returner:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"10", tackling:"8", kicking:"8", punting:"8"},
cb_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
ss_man_specialist:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
ss_zone_specialist:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
ss_hard_hitter:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
ss_combo_safety:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
ss_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
fs_man_specialist:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
fs_zone_specialist:{strength:"8", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"10", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
fs_hard_hitter:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
fs_combo_safety:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
fs_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
lb_coverage_linebacker:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
lb_blitzer:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
lb_hard_hitter:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
lb_combo_linebacker:{strength:"10", speed:"10", agility:"10", jumping:"10", stamina:"10", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
lb_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
k_boomer:{strength:"10", speed:"8", agility:"10", jumping:"10", stamina:"8", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"10", punting:"8"},
k_technician:{strength:"10", speed:"8", agility:"10", jumping:"10", stamina:"8", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"10", punting:"8"},
p_boomer:{strength:"10", speed:"8", agility:"10", jumping:"10", stamina:"8", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"10"},
p_technician:{strength:"10", speed:"8", agility:"10", jumping:"10", stamina:"8", vision:"10", confidence:"10", blocking:"8", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"10"},
c_pass_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
c_run_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
c_special_teamerr:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
c_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
g_pass_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
g_run_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
g_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
ot_run_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
ot_pass_blocker:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"8", kicking:"8", punting:"8"},
ot_special_teamer:{strength:"10", speed:"10", agility:"10", jumping:"8", stamina:"10", vision:"10", confidence:"10", blocking:"10", throwing:"8", catching:"8", carrying:"8", tackling:"10", kicking:"8", punting:"8"},
de_none:{strength : 10, blocking : 10, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 10, catching : 8, stamina : 10, carrying : 8, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
dt_none:{strength : 10, blocking : 10, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 8, catching : 8, stamina : 10, carrying : 8, vision : 10, kicking : 8, confidence : 10, "punting": 8},
c_none:{strength : 10, blocking : 10, speed : 8, tackling : 10, agility : 10, throwing : 8, jumping : 8, catching : 8, stamina : 10, carrying : 8, vision : 10, kicking : 8, confidence : 10, "punting": 8},
g_none:{strength : 10, blocking : 10, speed : 8, tackling : 10, agility : 10, throwing : 8, jumping : 8, catching : 8, stamina : 10, carrying : 8, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
ot_none:{strength : 10, blocking : 10, speed : 8, tackling : 10, agility : 10, throwing : 8, jumping : 8, catching : 8, stamina : 10, carrying : 8, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
hb_none:{strength : 10, blocking : 10, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 10, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
wr_none:{strength : 8, blocking : 8, speed : 10, tackling : 8, agility : 10, throwing : 8, jumping : 10, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
te_none:{strength : 10, blocking : 10, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 8, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
fb_none:{strength : 10, blocking : 10, speed : 8, tackling : 10, agility : 10, throwing : 8, jumping : 8, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
qb_none:{strength : 10, blocking : 8, speed : 10, tackling : 8, agility : 10, throwing : 10, jumping : 10, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
lb_none:{strength : 10, blocking : 10, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 10, catching : 10, stamina : 10, carrying : 8, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
cb_none:{strength : 10, blocking : 8, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 10, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
ss_none:{strength : 10, blocking : 10, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 10, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
fs_none:{strength : 10, blocking : 10, speed : 10, tackling : 10, agility : 10, throwing : 8, jumping : 10, catching : 10, stamina : 10, carrying : 10, vision : 10, kicking : 8, confidence : 10, "punting" : 8},
p_none:{strength : 10, blocking : 8, speed : 10, tackling : 8, agility : 10, throwing : 10, jumping : 10, catching : 8, stamina : 8, carrying : 8, vision : 10, kicking : 8, confidence : 10, "punting" : 10},
k_none:{strength : 10, blocking : 8, speed : 10, tackling : 8, agility : 10, throwing : 10, jumping : 10, catching : 8, stamina : 8, carrying : 8, vision : 10, kicking : 10, confidence : 10, "punting" : 8}

}

var trainingStatus = {};
var trainingUpgrades = {};


function reset() {
// remove the submit button to prevent any real SP spending
var s = document.getElementById('submit');
s.innerHTML = "Submit button removed by the GLB Player Builder Script. Refresh the page to get it back.";

//remove the current player's name to be less confusing
document.getElementById("player_vitals").childNodes[1].innerHTML = "Simulated Player | Position: "+getPosition();

if (getIsBuildFromScratch()) {
//var tmpSP = 157;
var tmpSP = 157-8;
for (k in minimums[getPosition()]) {
setAtt(k, minimums[getPosition()][k]);
tmpSP -= minimums[getPosition()][k];

//reset the training status to 0%
setTrainingStatus(k, 0);
}
setTP(8);
setXP(0);
setDay(1);
setAge(0);
setLevel(-1);
setVA(0);
setVAXP(0);
setSP(tmpSP);
setBoosts(0);
setBonusTokens(12);
resetSAs();
resetTrainingUpgrades();
setBoostCount(0);
}
if (getAge() < plateau_age) {
// no need to show button for plateau players
turnOnGameXP();
}
enableOddDayGames();
setDesiredBT(0);
setSeason(0);
//loadBoostCount(); // Need a routine to pull number of boosts from build
if (getLevel() == -1 || !automaticSeasonChange) {
GM_addStyle("#startSeasonButton {display: block}");
}
}

function resetTrainingUpgrades() {
trainingUpgrades = {};
for (var t=0; t<attributeTrainingOptions.length; t++) {
trainingUpgrades[attributeTrainingOptions[t]] = {enhance: 0, multi: false};
}
disableMultiTraining();
}

function startBuilder() {
var resetBuild = confirm("Do you want to start the build from scratch or start with this player's level, position, and attributes?\n\nHit OK to reset everything\nHit Cancel to use this player's existing build.");
setIsBuildFromScratch(resetBuild);
if (getIsBuildFromScratch()) {
//log("Creating a player from scratch is not implemented yet.", true);
//return;
p = requestPosition();
if (p) {
GM_addStyle(".playerhead {color: white}");
GM_addStyle("#startBuilderButton {display: none}");
GM_addStyle("#trainingDiv {display: block}");
if (!disableSerialization) {
GM_addStyle("#serializeButton {display: block}");
}
setPosition(p);
reset();
showIntialPointsPrompt();
startSeasonButton.value = "Pick Height and Weight";
}
} else {
var playerId = parsePlayerId();
getInetPage("/game/player.pl?player_id="+playerId, parsePlayerPage);
}
}

function showIntialPointsPrompt() {
alert('Spend your initial skill points first.\n\nThis represents your player\'s initial roll.\n\nAll attributes are already set to '+getPosition()+' minimums.');
}

function parsePlayerId() {
var pid = window.location.search;
pid = pid.slice(pid.indexOf('player_id=')+'player_id='.length);
if (pid.indexOf('&') > -1) {
pid = pid.slice(0,pid.indexOf('&'));
} else {
pid = pid.slice(0);
}
return pid;
}

function dump(txt) {
if (console.clear) {
console.clear();
}
log(txt);
}

/*
* get their position, level, current xp
*/
function parsePlayerPage(address, page) {
var txt = page.responseText;
if (txt.indexOf('<span>Vet Pts:</span>') >-1) {
var vasplit = txt.split('<span>Vet Pts:</span>');
va = vasplit[1].substring(vasplit[1].indexOf('>')+1,vasplit[1].indexOf('</a>'));
}
else {
va=0;
}

// get player position from the page
var positionRegex = /\/archetypes\/(\w+).png/gi;
var result = positionRegex.exec(txt);
if (result != null && result.length > 1) {
var p = result[1];
if (positionData[p]!=null && minimums[p]) {
setPosition(p);
}
else {
log("This player's archetype ["+p+"] is not implemented.", true);
return;
}
} else {
log("Unable to load the player's archetype", true);
dump(txt);
return;
}
GM_addStyle(".playerhead {color: white}");
GM_addStyle("#startBuilderButton {display: none}");
GM_addStyle("#nextDayButton {display: inline}");
GM_addStyle("#startSeasonButton {display: none}");
GM_addStyle("#trainingDiv {display: block}");
if (!disableSerialization) {
GM_addStyle("#serializeButton {display: block}");
}
GM_addStyle("#printFriendlyButton {display: block}");
GM_addStyle("#btWarningDiv {display: block}");

// get the training statii (sp?)
for (k in minimums[getPosition()]) {
//fix from Bogleg
var re = new RegExp(k + ' training progress: (\\d+)%', 'i');
var results = re.exec(txt);
if (results != null && results.length > 0 && !isNaN(parseInt(results[1]))) {
setTrainingStatus(k, parseInt(results[1]));
} else {
log('Failed to parse the training status of '+k, true);
return;
}
}

// get player creation day
var creationDayResult = /Season\s+\d+,\s+day\s+(\d+)/gi.exec(txt);
setCreatedDay(creationDayResult[1]);

var ageRegExResult = /(\d+)d old/gi.exec(txt);
setAge(parseInt(ageRegExResult[1]));

var regexResult = /player_points_value\D*?(\d+)\D*?(\d+)\D*?(\d+)\D*?(\d+)\D*?(?:.|\n)*?Next Level.*?(\d+)\/1000\D+Vet Pts\D+\d+\D+(\d+)/gi.exec(txt);
if (regexResult == null) {
// player is too low level to have VAs
regexResult = /player_points_value\D*?(\d+)\D*?(\d+)\D*?(\d+)\D*?(\d+)\D*?(?:.|\n)*?Next Level.*?(\d+)\/1000\D+/gi.exec(txt);
}
if (regexResult == null) {
// player is too old, that last regex fails for plateau players that don't have 'Next Level'
regexResult = /player_points_value\D*(\d+)\D*(\d+)\D*?(\d+)\D*?(\d+)\D*?(?:.|\n)*?Remaining XP/gi.exec(txt);
}
setLevel(parseInt(regexResult[1]));
setSP(parseInt(regexResult[2]));
setTP(parseInt(regexResult[3]));
setBonusTokens(parseInt(regexResult[4]));
if (regexResult[5] != null) {
setXP(parseInt(regexResult[5]));
} else {
setXP(0);
}
if (regexResult[6] != null) {
setVA(parseInt(regexResult[6]));
} else {
setVA(0);
}

// get the current day and reset the rest
getInetPage("/game/home.pl", parseCurrentDay);
}

/*
parses the day and player xp from the agent's homepage
*/
function parseCurrentDay(address, page) {
var txt = page.responseText;

// first just get to the player section
var playersplit = txt.split('<div id="players">')[1];
// now look for players, assuming the grid style
var stopTryingGridStyle = false;
vasplit = playersplit.split('\/game\/player\.pl\?player\_id\='+playerId+'"')[1];
vasplit = vasplit.split('<div class="player_xp">')[2];
if (vasplit != null) {
vasplit = vasplit.substring(0, vasplit.indexOf('</div>'));
vaxp = vasplit.substring(0,vasplit.indexOf('/'));
} else {
// the homepage must be using the list style, try parsing like that
// split off anything before the player's row in the list
vasplit = playersplit.split('\/game\/player\.pl\?player\_id\='+playerId+'"')[1];
vasplit = vasplit.split('\<td class\=\"list_vxp"\>')[1];
vasplit = vasplit.substring(0, vasplit.indexOf('</td>'));
if (vasplit != null) {
vaxp = vasplit;
} else {
alert('failed to retrieve VA XP from the agent\'s homepage');
}
}
setVAXP(parseInt(vaxp));

txt = txt.slice(txt.indexOf(', Day ')+5);
var d = txt.substring(0,txt.indexOf('</div>'));
setDay(parseInt(d));
getInetPage("/game/bonus_tokens.pl?player_id="+playerId, loadTrainingUpgrades);
}

function loadTrainingUpgrades(address, page) {
resetTrainingUpgrades();
var txt = page.responseText;
var enhanceRegex = /<img.*stars_level_(\d+).*enhanced_(\w+)_level.*>/gi;
var done = false;
while (!done) {
result = enhanceRegex.exec(txt);
if (result==null) {
done = true;
} else {
trainingUpgrades[result[2]].enhance = parseInt(result[1])*10;
}
}
// get attributes available for multi training
var multiRegex = /<img.*secondary_(\w+)_level.*star_full.*>/gi;
done = false;
while (!done) {
result = multiRegex.exec(txt);
if (result==null) {
done = true;
} else {
// add the new attribute option to the 3 drop downs and
// enable the multi training type if this is the first one enabled
enableMultiTrainAttribute(result[1]);
}
}
// attributes not available for training
var notMultiRegex = /<img.*secondary_(\w+)_level.*star_empty.*>/gi;
done = false;
while (!done) {
result = notMultiRegex.exec(txt);
if (result==null) {
done = true;
} else {
trainingUpgrades[result[1]].multi = false;
}
}
getInetPage("/game/boost_player.pl?player_id="+playerId, loadAvailableBoosts);
getInetPage("/game/xp_history.pl?player_id="+playerId, loadBoostCount);
}

/*
*
*/
function loadAvailableBoosts(address, page) {
var txt = page.responseText;
var availableBoostsRegex = /Available Level Ups\D+(\d+)/gi;
var result = availableBoostsRegex.exec(txt);
if (result!=null && result.length>1) {
log('available boosts = '+result[1]);
setBoosts(result[1]);
} else {
log("Failed to load the player's remaining boosts for this season. Defaulting to use the maximum.", true);
setBoosts(max_boosts_per_season);
}
reset();
}

function loadBoostCount(address, page) {
var txt2 = page.responseText;
var boostCountRegex = /[0-9] Boosts x 1000 =\D+(\d+)/gi;
var result2 = boostCountRegex.exec(txt2);
if (result2!=null && result2.length>1) {
log('boost count = '+(result2[1]/1000));
setBoostCount(parseInt((result2[1]/1000)));
} else {
log(result2 + " Failed to load the player's current boost count. Defaulting to 0.", true);
setBoostCount(0);
}
reset();
}

function promptForHeight() {
var h = 100;
var max = positionData[getPosition()].heightOptions;
// keep trying until they hit cancel or get in range
while (h!=null && (h > max || h < (-1 * max))) {
h = prompt("Enter the player's relative height.\n\nMust be a number ranging from -"+max+" to "+max+".\n\n-"+max+" = shortest possible height for your position\n"+max+" = tallest possible height for your position.");
}
h = Math.round(h / max * 2 * 100) / 100;
return h;
}

function promptForWeight() {
var w = 100;
var max = positionData[getPosition()].weightOptions;
// keep trying until they hit cancel or get in range
while (w != null && (w > max || w < (-1 * max))) {
w = prompt("Enter the player's relative weight.\n\nMust be a number ranging from -"+max+" to "+max+".\n\n-"+max+" = lightest possible weight for your position\n"+max+" = heaviest possible weight for your position.");
}
w = Math.round(w / max * 2 * 100)/100;
return w;
}

/*
return true if all the attributes are below 26. duh.
*/
function allAttributesUnder26() {
for (k in minimums[getPosition()]) {
if (getAtt(k) > 25) {
alert("Can't start with an attribute above 25. \n\nLower your "+k+" to continue.");
return false;
}
}
return true;
}

function isDefender() {
var result = /(\w+)\_/gi.exec(getPosition());
if (result != null && result.length>0 && result[1]!=null) {
var defenders = ['wr','qb','fb','hb','te','c','g','ot','p'];
for (var i=0; i < defenders.length; i++) {
if (result==defenders) {
return true;
}
}
} else {
log('bug: can\'t tell if this position is a defender: '+getPosition()+' assuming not a defender so blocking will be effected by weight, not tackling.', true);
}
return false;
}

function startSeason() {
if (getLevel() < 0 && getSP() > 0) {
showIntialPointsPrompt();
return;
}
if (getLevel() < 0 && getSP()==0) {
if (!allAttributesUnder26()) {
return;
}
var height = promptForHeight();
if (height == null) {
return;
}
var weight = promptForWeight();
if (weight == null) {
return;
}
// height adjustments
setAtt("jumping", getAtt("jumping") + height);
setAtt("vision", getAtt("vision") + height);
setAtt("agility", getAtt("agility") - height);
setAtt("stamina", getAtt("stamina") - height);
// weight adjustments
setAtt("strength", getAtt("strength") + weight);
if (isDefender()) {
setAtt("tackling", getAtt("tackling") + weight);
} else {
setAtt("blocking", getAtt("blocking") + weight);
}
setAtt("speed", getAtt("speed") - weight);
setAtt("stamina", getAtt("stamina") - weight);
startSeasonButton.value = "Start Season";
// using level as a 'state' until the intializing is done and it goes above 0
// -1 means it still needs to assign the starting SP and then pick Height/Weight
// 0 means the height and weight have been picked, and they need to pick a start day for the season
commitSPSpending();
setLevel(0);
}
if (getLevel() > 0 && getDay() < 41) {
alert('You havent finished this season yet.\n\nWait until day 41 to start a new season');
return;
}
// find out how many days of training before games start
// skip this if using automatic season change and it's not a new player
// for automatic season change, it will default to the preseason length
var startDay = (0-preseasonLength);
if (getLevel()==0 || !automaticSeasonChange) {
startDay = prompt("Enter a day to start on.\n\nDay 0 will ensure you get the first daily experience of the season and the first game xp.\nAll games are run on odd days.\n\nDay 31 would start you after the last game of the season has been run.\nThe transition from day 39 to 40 is the last daily experience of the season.\n\nEnter negative days to accrue training points before games start.");
startDay = parseInt(startDay);
}
if (isNaN(startDay)) {
alert('Invalid start day');
} else if (startDay == null) {
return;
} else {
commitSPSpending();
setBoosts(max_boosts_per_season);
setDay(startDay);
setSeason(season+1);
startSeasonButton.value = "Next Season";
if (getLevel() == 0) {
setSP(getSP() + 15);
setLevel(1);
setXP(0);
}
GM_addStyle("#nextDayButton {display: inline}");
GM_addStyle("#printFriendlyButton {display: block}");
GM_addStyle("#btWarningDiv {display: block}");
GM_addStyle("#startSeasonButton {display: none}");
}
}

function requestPosition() {
var msg = "Valid positions: \n";
for (k in positionData) {
msg += k+" | ";
}
var p = prompt("Enter a Position\n\n"+msg);
if (p == null || (positionData[p] != null && minimums[p] != null)) {
return p;
}
alert('Invalid position entered: '+p+'\n\n'+msg);
return requestPosition();
}

var dailyXP = {
1 : [50,625],
2 : [50,625],
3 : [50,625],
4 : [50,625],
5 : [50,625],
6 : [50,625],
7 : [50,625],
8 : [50,625],
9 : [50,625],
10 : [50,625],
11 : [50,625],
12 : [50,625],
13 : [50,625],
14 : [50,625],
15 : [50,625],
16 : [50,500],
 
Page:
 


You are not logged in. Please log in if you want to post a reply.