Guest User

Untitled

a guest
Apr 15th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Viewport Expander
  3. // @version 1.4
  4. // @description Maximize viewport and draw FOV
  5. // @author Catalyst
  6. // @include http://*.koalabeast.com:*
  7. // @include http://*.jukejuice.com:*
  8. // @include http://*.newcompte.fr:*
  9. // @grant none
  10. // @updateURL https://gist.github.com/catalyst518/0f769f614b7eb2b7ebea977cacf0385e/raw/Viewport-Expander.meta.js
  11. // @downloadURL https://gist.github.com/catalyst518/0f769f614b7eb2b7ebea977cacf0385e/raw/Viewport-Expander.user.js
  12. // ==/UserScript==
  13.  
  14. //--------------SETTINGS--------------
  15. //Change the following variable according to your league's whitelist rules.
  16. //Set the value to false to allow use in-game. Set the value to true to enable spectator-only mode (allowed in any league).
  17. var spec_only=true;
  18. //Set true/false to toggle auto-zoom level when spectating
  19. var auto_zoom=true;
  20. //Field of view color settings (does not show in spectator mode):
  21. // color in hex with 0x prefix
  22. // alpha controls the transparency and ranges from 0 (transparent) to 1 (opaque)
  23. var color=0x595959;
  24. var alpha=0.5;
  25. //-----------END OF SETTINGS-----------
  26.  
  27. var oldh=0;
  28. var oldw=0;
  29. tagpro.ready(function waitForId() {
  30. if (!tagpro.playerId) {
  31. return setTimeout(waitForId, 100);
  32. }
  33. if(tagpro.spectator || !spec_only)
  34. {
  35. //Resize viewport
  36. resize();
  37. if(tagpro.spectator)
  38. tagpro.viewport.followPlayer=false;
  39. //Check for resizing and update FOV and zoom accordingly
  40. setInterval(updateFOV, 500);
  41. }
  42. });
  43.  
  44. function resize(){
  45. tagpro.renderer.canvas_width = window.innerWidth;
  46. tagpro.renderer.canvas_height = window.innerHeight;
  47. tagpro.renderer.resizeView();
  48. tagpro.renderer.centerView();
  49. }
  50.  
  51. function updateFOV() {
  52. var h = $('#viewport').height();
  53. var w = $('#viewport').width();
  54. //Resize viewport
  55. if (h!=window.innerHeight||w!=window.innerWidth){
  56. resize();
  57. h = $('#viewport').height();
  58. w = $('#viewport').width();
  59. }
  60. //Draw FOV
  61. if(!tagpro.spectator)
  62. {
  63. var player = tagpro.players[tagpro.playerId];
  64. if (!player.sprites.FOV) {
  65. player.sprites.FOV = new PIXI.Graphics();
  66. player.sprites.ball.addChild(player.sprites.FOV);
  67. }
  68. var x1=18-w/2;
  69. var x2=19+w/2;
  70. var y1=18-h/2;
  71. var y2=19+h/2;
  72. player.sprites.FOV.clear();
  73. player.sprites.FOV.beginFill(color);
  74. player.sprites.FOV.drawPolygon(x1,y1, x2,y1, x2,y2, x1,y2, x1,y1, -621,-381, 659,-381, 659,419, -621,419, -621,-381);
  75. player.sprites.FOV.endFill();
  76. player.sprites.FOV.alpha=alpha;
  77. }
  78. //Auto-zoom to fill viewport
  79. if(tagpro.spectator && auto_zoom && (oldh!=h ||oldw!=w))
  80. {
  81. var yzoom=tagpro.map[0].length*40/h;
  82. var xzoom=tagpro.map.length*40/w;
  83. tagpro.zoom=Math.max(xzoom,yzoom,1);
  84. }
  85. oldh=h;
  86. oldw=w;
  87. }
Add Comment
Please, Sign In to add comment