Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
5,277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. // ==UserScript==
  2. // @name anty-stasis
  3. // @version 1.0
  4. // @description rusza sie jak sie pokaze stan nieaktywnosci
  5. // @author adrian wilk
  6. // @match *://*.margonem.pl/
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. (()=>{const a=window.hero,b="last-coordinates-anty-stasis",c=JSON.parse(localStorage.getItem(b))||{x:null,y:null,name:null},d=()=>{const{x:d,y:e}=a,{name:f}=window.map;Object.assign(c,{x:d,y:e,name:f}),localStorage.setItem(b,JSON.stringify(c))},e=()=>{Object.assign(c,{x:null,y:null,name:null}),localStorage.setItem(b,JSON.stringify(c))},f=(a,b)=>{const{x:d,y:e}=c;return Math.hypot(a-d,b-e)},g=(a,b,c=!1)=>c?"0"!==window.map.col[b*window.map.x+a]:window.map.nodes.getNode(a,b).blocked,h=(b=!1)=>{const c=[],{x:d,y:e}=a;return c.push({x:d+1,y:e}),c.push({x:d-1,y:e}),c.push({x:d,y:e+1}),c.push({x:d,y:e-1}),b?c:c.filter(({x:a,y:b})=>!g(a,b))},i=()=>{if(0!==window.map.col.length){const{name:a}=c;null!==a&&a!==window.map.name&&e();const b=h();if(0<b.length){const{x:a,y:e}=c;if(null===a||null===e){const{x:a,y:c}=b[0];d(),window.road=[{x:a,y:c}]}else if(b.some(({x:b,y:c})=>a===b&&e===c))d(),window.road=[{x:a,y:e}];else{const a=b.map(({x:a,y:b})=>({x:a,y:b,distance:f(a,b)})),c=a.sort((a,b)=>a.distance-b.distance),{x:e,y:g}=c[0];d(),window.road=[{x:e,y:g}]}}else{const a=h(!0),b=a.filter(({x:a,y:b})=>!g(a,b,!0)),c=b.map(({x:a,y:b})=>({x:a,y:b,distance:f(a,b)})),e=c.sort((a,b)=>a.distance-b.distance),{x:i,y:j}=e[0];d(),window.road=[{x:i,y:j}]}}},j=window.parseInput;window.parseInput=(b,...c)=>{b.h&&1===b.h.stasis&&(Object.assign(a,b.h),i());const d=j(b,...c);return b.cl&&1===a.stasis&&i(),d}})();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement