// ==UserScript== // @name Extra Info In Play Text // @description Add extra info to the GLB play description text. // @namespace pbr/ei // @include http://goallineblitz.com/game/replay.pl?game_id=*&pbp_id=* // @include http://glb.warriorgeneral.com/game/replay.pl?game_id=*&pbp_id=* // @copyright 2009, pabst // @license (CC) Attribution Share Alike; http://creativecommons.org/licenses/by-sa/3.0/ // @version 13.12.29 // @require https://greasyfork.org/scripts/1371-libpbr2/code/libpbr2.js?version=3533 // @downloadURL none // ==/UserScript== /* * * pabst did this 09/09/01+ * * */ var scriptName = "Extra Info In Play Text"; var scriptVersion = "13.12.29"; var scriptWebpage = "http://userscripts.org/scripts/show/57984"; window.setTimeout( function() { init(false); } , 100); function premodTest() { var play_data = unsafeWindow.play_data; var minx = play_data[0][0].x; var maxx = play_data[0][0].x; for (var i = 1; i < unsafeWindow.play_data[0].length; i++) { minx = Math.min(minx, play_data[0][i].x); maxx = Math.max(maxx, play_data[0][i].x); } console.log(minx+" --> "+maxx+" : "+((maxx - minx)>100)); if ((maxx-minx) > 110) return true; return false; } function activate(e) { console.log("activate "+scriptName); lock(); if (unsafeWindow.play_data[0]) { defender_main(); } else { console.log("early exit"); } unlock(); } var longPass = 15 * 3; var mediumPass = 7.5 * 3; var shortPass = 0 * 3; function defender_main() { var players = unsafeWindow.players; var play_data = unsafeWindow.play_data; var playerids = new Array(); for (var i = 1; i < unsafeWindow.play_data[0].length; i++) { var data = play_data[0][i]; if (data.id != 'ball') { playerids.push (data.id); } } var playText = document.getElementById("outcome_content").innerHTML; var receiver = getReceiverName(playText); if (receiver != null) { var wrid = -1; for (var i = 0; i < playerids.length; i++) { var plyr = players[playerids[i]]; if (plyr.name == receiver) { wrid = playerids[i]; break; } } if (wrid == -1) return; var min = 99999; var incY = 99999; var catchY = -1; var wridx = -1; for (var i=0; i5)) { defPlayers[i] += 1.35; } //console.log(unsafeWindow.play_data[j][i].id+" : "+defPlayers[i]); } catch(e) { } } if (fmin < 12) { defPlayers[fidx] += 0.35; } //console.log(j+" -- "+fmin+" : "+fidx+" -- "+defPlayers); try { var balldata = play_data[j+5][0]; var wrdata = play_data[j+5][wridx]; //console.log(balldata.x+" - "+wrdata.x+" : "+balldata.y+" - "+wrdata.y); if ((Math.abs(balldata.x - wrdata.x) < 15) && (Math.abs(balldata.y - wrdata.y) < 15)) { break; } } catch (e) { break; } if ((j == 0) && ((j+10) < (play_data.length-5))) { j += 9; } } //alert("defmin="+defmin); if (defmin > 11) { console.log("HiZ"); defPlayers = null; } return defPlayers; } function addDefender(d) { var playText = document.getElementById("outcome_content").innerHTML; var sn = playText.indexOf('pass to ')+8; var en = 0; if (playText.indexOf(', hurried by')!=-1) { en = playText.indexOf(', hurried by'); } else if (playText.indexOf(' up the')!=-1) { en = playText.indexOf(' up the'); } else { en = playText.indexOf(' over the'); } if (sn != -1) { var str = playText.slice(0,en)+" ("+d+")" + playText.slice(en); document.getElementById("outcome_content").innerHTML = str; } } function findBlocker(players,play_data) { var playerids = new Array(); for (var i = 1; i < play_data[0].length; i++) { var data = play_data[0][i]; if (data.id != 'ball') { playerids.push (data.id); } } var qbid = 0; for (var i = 0; i < playerids.length; i++) { var plyr = players[playerids[i]]; //console.log(i+") "+plyr.position); if (plyr.position == "QB") { qbid = playerids[i]; break; } } var qbidx = 0; for (var i=0; i<22; i++) { if (play_data[0][i].id == qbid) { qbidx = i; break; } } var lastFrame = play_data.length; var last = 32767; for (var f=0; f last) { lastFrame = f; break; } last = distance; } //console.log(qbid+" - "+qbidx+" : lf="+lastFrame); var playText = document.getElementById("outcome_content").innerHTML; var rusher; var idx = playText.indexOf(" sacked by ")+" sacked by ".length; if (idx != 10) { rusher = playText.slice(idx,idx+playText.slice(idx).indexOf(" (")); } else { var idx = playText.indexOf(" hurried by ")+" hurried by ".length; rusher = playText.slice(idx,idx+playText.slice(idx).indexOf(", ")); } var rusheridx = -1; var rusherid = -1; for (var i=0; i= mediumPass) s = " medium"; if (d >= longPass) s = " long"; var idx = playText.indexOf(" pass to "); playText = playText.slice(0,idx)+s+playText.slice(idx); document.getElementById("outcome_content").innerHTML = playText; //console.log(d); } } function addBlocker(d) { var playText = document.getElementById("outcome_content").innerHTML; var idx = playText.indexOf(" sacked by ")+11; var idx2 = -1; if (idx != 10) { idx2 = playText.slice(idx).indexOf(" ("); } else { idx = playText.indexOf(" hurried by ")+12; idx2 = playText.slice(idx).indexOf(", "); } if (idx > 11) { playText = playText.slice(0,idx+idx2)+" ("+d+")"+playText.slice(idx+idx2); document.getElementById("outcome_content").innerHTML = playText; } }