Circle hitboxes - Sploop

Accurate Circle Hitboxes For PvP in Sploop.io!

  1. // ==UserScript==
  2. // @name Circle hitboxes - Sploop
  3. // @namespace http://tampermonkey.net/
  4. // @version 2024-04-30
  5. // @description Accurate Circle Hitboxes For PvP in Sploop.io!
  6. // @author fizzixww
  7. // @match https://sploop.io/
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=sploop.io
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12. const hitbox_Circle_Colour = "#ff0000"; //Choose the colour of the hitboxes! (search Hex Colour Picker in google)
  13.  
  14. const Remove_weird_circle_above_animals = 0; //(not recommended) Set this to 1 to remove the weird looking circle above animals. however, you will not be able to see other players hitboxes if you do this.
  15.  
  16.  
  17. //Code derived from Nudos visual extention.
  18. (function() {
  19. class Visuals {
  20. constructor() {
  21. this.text = {
  22. color: {
  23. all: "#fff",
  24. rainbow: false
  25. },
  26. visible: 1
  27. };
  28. this.hi = {
  29. active: true,
  30. disttag: true,
  31. dashline: false,
  32. color: {
  33. entity: "#cc5151",
  34. ally: "#a4cc4f",
  35. rainbow: false
  36. },
  37. size: 1,
  38. visible: 1
  39. };
  40. this.hitboxes = {
  41. active: false,
  42. dashline: false,
  43. color: {
  44. all: "#5174cd",
  45. rainbow: false
  46. },
  47. size: 1,
  48. visible: 1
  49. };
  50. this.rainbow = {
  51. old: Date.now(),
  52. hue: 0,
  53. power: 3,
  54. time: 10
  55. };
  56. this.offset = [0, Date.now()];
  57. }
  58.  
  59. rainbowColor() {
  60. if (!this.rainbow.old || Date.now() - this.rainbow.old >= this.rainbow.time) {
  61. this.rainbow.hue += this.rainbow.power * Math.random();
  62. this.rainbow.old = Date.now();
  63. }
  64. visuals.rb = `hsl(${this.rainbow.hue}, 100%, 50%)`;
  65. }
  66.  
  67. drawText(text, x, y) {
  68. Context.save();
  69. Context.font = '18px "Baloo Paaji"';
  70. Context.lineWidth = 8;
  71. Context.strokeStyle = "#3d3f42";
  72. Context.globalAlpha = this.text.visible;
  73. Context.textAlign = 'center';
  74. Context.fillStyle = this.text.color.rainbow ? visuals.rb : this.text.color.all;
  75. Context.strokeText(text, x, y);
  76. Context.fillText(text, x, y);
  77. Context.restore();
  78. }
  79.  
  80. updateOffset() {
  81. if (!this.offset[1] || Date.now() - this.offset[1] >= 10) {
  82. this.offset[0]++;
  83. this.offset[1] = Date.now();
  84. }
  85. }
  86.  
  87. dashLine() {
  88. Context.setLineDash([18, 6, 6, 6]);
  89. Context.lineDashOffset = -visuals.offset[0];
  90. }
  91. }
  92.  
  93. let visuals = new Visuals();
  94.  
  95. class fizzBurger {
  96. constructor() {
  97. this.allAlly = [];
  98. this.allEntity = [];
  99. this.localPlayer = {
  100. active: false,
  101. positions: [],
  102. maxPositions: 50 //amount
  103. };
  104. }
  105.  
  106. drawCircle(x, y, imgWidth, imgHeight, rotation, rad) {
  107. const radius = rad;
  108. const offset = -radius;
  109. const centerX = x + imgWidth / 2;
  110. const centerY = y + imgHeight / 2;
  111. const rotatedX = centerX + (radius + offset) * Math.cos(rotation);
  112. const rotatedY = centerY + (radius + offset) * Math.sin(rotation);
  113. Context.save();
  114. Context.beginPath();
  115. Context.arc(rotatedX, rotatedY, radius, 0, 2 * Math.PI);
  116. Context.lineWidth = 2;
  117. Context.strokeStyle = hitbox_Circle_Colour;
  118. Context.stroke();
  119. Context.restore();
  120. }
  121. updatePositions(x, y) {
  122. this.localPlayer.positions.push({
  123. x,
  124. y
  125. });
  126.  
  127. if (this.localPlayer.positions.length > this.localPlayer.maxPositions) {
  128. this.localPlayer.positions.shift();
  129. }
  130. }
  131.  
  132. drawAllCircles() {
  133. this.allEntity.forEach(({
  134. x,
  135. y,
  136. imgWidth,
  137. imgHeight,
  138. rotation
  139. }) => {
  140. this.drawCircle(x, y, imgWidth, imgHeight, rotation);
  141. });
  142. }
  143. }
  144.  
  145. let QuickQuix = new fizzBurger();
  146.  
  147. let Context;
  148.  
  149. let {
  150. clearRect,
  151. fillRect,
  152. fillText,
  153. drawImage
  154. } = CanvasRenderingContext2D.prototype;
  155.  
  156. CanvasRenderingContext2D.prototype.clearRect = function(x, y, width, height) {
  157. if (this.canvas.id === "game-canvas") {
  158. Context = this.canvas.getContext("2d");
  159. }
  160. return clearRect.apply(this, arguments);
  161. };
  162.  
  163. CanvasRenderingContext2D.prototype.fillRect = function(x, y, width, height) {
  164. if (document.getElementById("homepage").style.display == "none") {
  165. visuals.updateOffset();
  166. if (this.fillStyle == "#a4cc4f") {}
  167. } else {
  168. QuickQuix.localPlayer.active = false;
  169. }
  170. return fillRect.apply(this, arguments);
  171. };
  172.  
  173. const imageRadii = {
  174. "https://sploop.io/img/entity/tree.png?v=1923912": 90,
  175. "https://sploop.io/img/entity/rock.png?v=1923912": 75,
  176. "https://sploop.io/img/entity/cherry_tree.png?v=1923912": 90,
  177. "https://sploop.io/img/entity/gold.png?v=1923912": 76,
  178. "https://sploop.io/img/entity/hard_spike.png?v=1923912": 45,
  179. "https://sploop.io/img/entity/spike.png?v=1923912": 45,
  180. "https://sploop.io/img/entity/wall.png?v=1923912": 45,
  181. "https://sploop.io/img/entity/platform.png?v=1923912": 60,
  182. "https://sploop.io/img/entity/boost.png?v=1923912": 40,
  183. "https://sploop.io/img/entity/lootbox.png?v=1923912": 40,
  184. "https://sploop.io/img/entity/windmill_base.png?v=1923912": 45,
  185. "https://sploop.io/img/entity/windmill_top.png?v=1923912": 54,
  186. "https://sploop.io/img/entity/bed.png?v=1923912": 50,
  187. "https://sploop.io/img/entity/castle_spike.png?v=1923912": 42,
  188. "https://sploop.io/img/entity/tornado.png?v=1923912": 220,
  189. "https://sploop.io/img/entity/cactus.png?v=1923912": 50,
  190. "https://sploop.io/img/entity/bush.png?v=1923912": 50,
  191. "https://sploop.io/img/entity/roof.png?v=1923912": 50,
  192. "https://sploop.io/img/entity/chest.png?v=1923912": 45,
  193. "https://sploop.io/img/entity/turret_base.png?v=1923912": 45,
  194. "https://sploop.io/img/entity/cow.png?v=1923912": 90,
  195. "https://sploop.io/img/entity/trap.png?v=1923912": 40,
  196. "https://sploop.io/img/entity/wood_farm.png?v=1923912": 80,
  197. "https://sploop.io/img/entity/shark.png?v=1923912": 90,
  198. "https://sploop.io/img/entity/castle_wall.png?v=1923912": 59,
  199. "https://sploop.io/img/entity/wolf.png?v=1923912": 50,
  200. "https://sploop.io/img/entity/berry_farm.png?v=1923912": 50,
  201. "https://sploop.io/img/entity/gcow.png?v=1923912": 90,
  202. "https://sploop.io/img/entity/palm_tree.png?v=1923912": 90,
  203. "https://sploop.io/img/entity/cave_stone0.png?v=1923912": 92,
  204. "https://sploop.io/img/entity/cave_stone1.png?v=1923912": 92,
  205. "https://sploop.io/img/entity/cave_stone2.png?v=1923912": 58,
  206. "https://sploop.io/img/entity/fireball.png?v=1923912": 100,
  207. "https://sploop.io/img/entity/ice0.png?v=1923912": 92,
  208. "https://sploop.io/img/entity/ice1.png?v=1923912": 20,
  209. "https://sploop.io/img/entity/teleporter.png?v=1923912": 35,
  210. "https://sploop.io/img/entity/duck.png?v=1923912": 20,
  211. "https://sploop.io/img/entity/mammoth_body.png?v=1923912": 90,
  212. "https://sploop.io/img/entity/dragon_2_body.png?v=1923912": 100,
  213. "https://sploop.io/img/entity/wood_farm_cherry.png?v=1923912": 80,
  214. "https://sploop.io/img/entity/wood_farm.png?v=1923912": 80,
  215. "https://sploop.io/img/entity/ruby.png?v=1923912": 100,
  216. "https://sploop.io/img/skins/body0.png?v=1923912": 35,
  217. "https://sploop.io/img/skins/body1.png?v=1923912": 35,
  218. "https://sploop.io/img/skins/body2.png?v=1923912": 35,
  219. "https://sploop.io/img/skins/body3.png?v=1923912": 35,
  220. "https://sploop.io/img/skins/body4.png?v=1923912": 35,
  221. "https://sploop.io/img/skins/body5.png?v=1923912": 35,
  222. "https://sploop.io/img/skins/body6.png?v=1923912": 35,
  223. "https://sploop.io/img/skins/body7.png?v=1923912": 35,
  224. "https://sploop.io/img/skins/body8.png?v=1923912": 35,
  225. "https://sploop.io/img/skins/body9.png?v=1923912": 35,
  226. "https://sploop.io/img/skins/body10.png?v=1923912": 35,
  227. "https://sploop.io/img/skins/body11.png?v=1923912": 35,
  228. "https://sploop.io/img/skins/body12.png?v=1923912": 35,
  229. "https://sploop.io/img/skins/body13.png?v=1923912": 35,
  230. "https://sploop.io/img/skins/body14.png?v=1923912": 35,
  231. "https://sploop.io/img/skins/body15.png?v=1923912": 35,
  232. "https://sploop.io/img/skins/body16.png?v=1923912": 35,
  233. "https://sploop.io/img/skins/body17.png?v=1923912": 35,
  234. "https://sploop.io/img/skins/body18.png?v=1923912": 35,
  235. "https://sploop.io/img/skins/body19.png?v=1923912": 35,
  236. "https://sploop.io/img/skins/body20.png?v=1923912": 35,
  237. "https://sploop.io/img/skins/body21.png?v=1923912": 35,
  238. "https://sploop.io/img/skins/body22.png?v=1923912": 35,
  239. "https://sploop.io/img/skins/body23.png?v=1923912": 35,
  240. "https://sploop.io/img/skins/body24.png?v=1923912": 35,
  241. "https://sploop.io/img/skins/body25.png?v=1923912": 35,
  242. "https://sploop.io/img/skins/body26.png?v=1923912": 35,
  243. "https://sploop.io/img/skins/body27.png?v=1923912": 35,
  244. "https://sploop.io/img/skins/body28.png?v=1923912": 35,
  245. "https://sploop.io/img/skins/body29.png?v=1923912": 35,
  246. "https://sploop.io/img/skins/body30.png?v=1923912": 35,
  247. "https://sploop.io/img/skins/body31.png?v=1923912": 35,
  248. "https://sploop.io/img/skins/body32.png?v=1923912": 35,
  249. "https://sploop.io/img/skins/body33.png?v=1923912": 35,
  250. "https://sploop.io/img/skins/body34.png?v=1923912": 35,
  251. "https://sploop.io/img/skins/body35.png?v=1923912": 35,
  252. "https://sploop.io/img/skins/body36.png?v=1923912": 35,
  253. "https://sploop.io/img/skins/body37.png?v=1923912": 35,
  254. "https://sploop.io/img/skins/body38.png?v=1923912": 35,
  255. "https://sploop.io/img/skins/body39.png?v=1923912": 35,
  256. "https://sploop.io/img/skins/body40.png?v=1923912": 35,
  257. "https://sploop.io/img/skins/body41.png?v=1923912": 35,
  258. "https://sploop.io/img/skins/body42.png?v=1923912": 35,
  259. "https://sploop.io/img/skins/body43.png?v=1923912": 35,
  260. "https://sploop.io/img/skins/body44.png?v=1923912": 35,
  261. "https://sploop.io/img/skins/body45.png?v=1923912": 35,
  262. "https://sploop.io/img/skins/body46.png?v=1923912": 35,
  263. "https://sploop.io/img/skins/body47.png?v=1923912": 35,
  264. "https://sploop.io/img/skins/body48.png?v=1923912": 35,
  265. "https://sploop.io/img/skins/body49.png?v=1923912": 35,
  266. "https://sploop.io/img/skins/body50.png?v=1923912": 35,
  267. "https://sploop.io/img/skins/body51.png?v=1923912": 35,
  268. "https://sploop.io/img/skins/body52.png?v=1923912": 35,
  269. "https://sploop.io/img/skins/body53.png?v=1923912": 35,
  270. "https://sploop.io/img/skins/body54.png?v=1923912": 35,
  271. "https://sploop.io/img/skins/body55.png?v=1923912": 35,
  272. "https://sploop.io/img/skins/body56.png?v=1923912": 35,
  273. "https://sploop.io/img/skins/body57.png?v=1923912": 35,
  274. "https://sploop.io/img/skins/body58.png?v=1923912": 35,
  275. "https://sploop.io/img/skins/body59.png?v=1923912": 35,
  276. "https://sploop.io/img/skins/body60.png?v=1923912": 35,
  277. "https://sploop.io/img/skins/body61.png?v=1923912": 35,
  278. "https://sploop.io/img/skins/body62.png?v=1923912": 35,
  279. "https://sploop.io/img/skins/body63.png?v=1923912": 35,
  280. "https://sploop.io/img/skins/body64.png?v=1923912": 35,
  281. "https://sploop.io/img/skins/body65.png?v=1923912": 35,
  282. "https://sploop.io/img/skins/body66.png?v=1923912": 35,
  283. "https://sploop.io/img/skins/body67.png?v=1923912": 35,
  284. "https://sploop.io/img/skins/body68.png?v=1923912": 35,
  285. "https://sploop.io/img/skins/body69.png?v=1923912": 35,
  286. "https://sploop.io/img/skins/body70.png?v=1923912": 35,
  287. "https://sploop.io/img/skins/body71.png?v=1923912": 35,
  288. "https://sploop.io/img/skins/body72.png?v=1923912": 35,
  289. "https://sploop.io/img/skins/body73.png?v=1923912": 35,
  290. "https://sploop.io/img/skins/body74.png?v=1923912": 35,
  291. "https://sploop.io/img/skins/body75.png?v=1923912": 35,
  292. "https://sploop.io/img/skins/body76.png?v=1923912": 35,
  293. "https://sploop.io/img/skins/body77.png?v=1923912": 35,
  294. "https://sploop.io/img/skins/body78.png?v=1923912": 35,
  295. "https://sploop.io/img/skins/body79.png?v=1923912": 35,
  296. "https://sploop.io/img/skins/body80.png?v=1923912": 35,
  297. "https://sploop.io/img/skins/body81.png?v=1923912": 35,
  298. "https://sploop.io/img/skins/body82.png?v=1923912": 35,
  299. "https://sploop.io/img/skins/body83.png?v=1923912": 35,
  300. "https://sploop.io/img/skins/body84.png?v=1923912": 35,
  301. "https://sploop.io/img/skins/body85.png?v=1923912": 35,
  302. "https://sploop.io/img/skins/body86.png?v=1923912": 35,
  303. "https://sploop.io/img/skins/body87.png?v=1923912": 35,
  304. "https://sploop.io/img/skins/body88.png?v=1923912": 35,
  305. "https://sploop.io/img/skins/body89.png?v=1923912": 35,
  306. "https://sploop.io/img/skins/body90.png?v=1923912": 35,
  307. "https://sploop.io/img/skins/body91.png?v=1923912": 35,
  308. "https://sploop.io/img/skins/body92.png?v=1923912": 35,
  309. "https://sploop.io/img/skins/body93.png?v=1923912": 35,
  310. "https://sploop.io/img/skins/body94.png?v=1923912": 35,
  311. "https://sploop.io/img/skins/body95.png?v=1923912": 35,
  312. //more bodies added incase of future skins dont worry I didnt type them all out thanks for caring
  313. "https://sploop.io/img/skins/body96.png?v=1923912": 35,
  314. "https://sploop.io/img/skins/body97.png?v=1923912": 35,
  315. "https://sploop.io/img/skins/body98.png?v=1923912": 35,
  316. "https://sploop.io/img/skins/body99.png?v=1923912": 35,
  317. "https://sploop.io/img/skins/body100.png?v=1923912": 35,
  318. "https://sploop.io/img/skins/body101.png?v=1923912": 35,
  319. "https://sploop.io/img/skins/body102.png?v=1923912": 35,
  320. "https://sploop.io/img/skins/body103.png?v=1923912": 35,
  321. "https://sploop.io/img/skins/body104.png?v=1923912": 35,
  322. "https://sploop.io/img/skins/body105.png?v=1923912": 35,
  323. "https://sploop.io/img/skins/body106.png?v=1923912": 35,
  324. "https://sploop.io/img/skins/body107.png?v=1923912": 35,
  325. "https://sploop.io/img/skins/body108.png?v=1923912": 35,
  326. "https://sploop.io/img/skins/body109.png?v=1923912": 35,
  327. "https://sploop.io/img/skins/body110.png?v=1923912": 35,
  328. "https://sploop.io/img/skins/body111.png?v=1923912": 35,
  329. "https://sploop.io/img/skins/body112.png?v=1923912": 35,
  330. "https://sploop.io/img/skins/body113.png?v=1923912": 35,
  331. "https://sploop.io/img/skins/body114.png?v=1923912": 35,
  332. "https://sploop.io/img/skins/body115.png?v=1923912": 35,
  333. "https://sploop.io/img/skins/body116.png?v=1923912": 35,
  334. "https://sploop.io/img/skins/body117.png?v=1923912": 35,
  335. "https://sploop.io/img/skins/body118.png?v=1923912": 35,
  336. "https://sploop.io/img/skins/body119.png?v=1923912": 35,
  337. "https://sploop.io/img/skins/body120.png?v=1923912": 35,
  338. "https://sploop.io/img/skins/body121.png?v=1923912": 35,
  339. "https://sploop.io/img/skins/body122.png?v=1923912": 35,
  340. "https://sploop.io/img/skins/body123.png?v=1923912": 35,
  341. "https://sploop.io/img/skins/body124.png?v=1923912": 35,
  342. "https://sploop.io/img/skins/body125.png?v=1923912": 35,
  343. "https://sploop.io/img/skins/body126.png?v=1923912": 35,
  344. "https://sploop.io/img/skins/body127.png?v=1923912": 35,
  345. "https://sploop.io/img/skins/body128.png?v=1923912": 35,
  346. "https://sploop.io/img/skins/body129.png?v=1923912": 35,
  347. "https://sploop.io/img/skins/body130.png?v=1923912": 35,
  348. "https://sploop.io/img/skins/body131.png?v=1923912": 35,
  349. "https://sploop.io/img/skins/body132.png?v=1923912": 35,
  350. "https://sploop.io/img/skins/body133.png?v=1923912": 35,
  351. "https://sploop.io/img/skins/body134.png?v=1923912": 35,
  352. "https://sploop.io/img/skins/body135.png?v=1923912": 35,
  353. "https://sploop.io/img/skins/body136.png?v=1923912": 35,
  354. "https://sploop.io/img/skins/body137.png?v=1923912": 35,
  355. "https://sploop.io/img/skins/body138.png?v=1923912": 35,
  356. "https://sploop.io/img/skins/body139.png?v=1923912": 35,
  357. "https://sploop.io/img/skins/body140.png?v=1923912": 35,
  358. "https://sploop.io/img/skins/body141.png?v=1923912": 35,
  359. "https://sploop.io/img/skins/body142.png?v=1923912": 35,
  360. "https://sploop.io/img/skins/body143.png?v=1923912": 35,
  361. "https://sploop.io/img/skins/body144.png?v=1923912": 35,
  362. "https://sploop.io/img/skins/body145.png?v=1923912": 35,
  363. "https://sploop.io/img/skins/body146.png?v=1923912": 35,
  364. "https://sploop.io/img/skins/body147.png?v=1923912": 35,
  365. "https://sploop.io/img/skins/body148.png?v=1923912": 35,
  366. "https://sploop.io/img/skins/body149.png?v=1923912": 35,
  367. "https://sploop.io/img/skins/body150.png?v=1923912": 35,
  368. };
  369. CanvasRenderingContext2D.prototype.drawImage = function(img, ...args) {
  370. if (this.canvas.id === "game-canvas") {
  371. const imageURL = img.src;
  372. const radius = imageRadii[imageURL] || 0.0;
  373.  
  374. if (imageURL in imageRadii) {
  375. const x = args[0];
  376. const y = args[1];
  377. const width = args[2];
  378. const height = args[3];
  379. const rotation = args[4] || 0;
  380.  
  381. drawImage.apply(this, [img, ...args]);
  382. QuickQuix.drawCircle(x, y, width, height, rotation, radius);
  383. return;
  384. }
  385. }
  386. return drawImage.apply(this, [img, ...args]);
  387. };
  388. })();
  389.  
  390. //following function draws a second circle using healthbar so that player hitbox can be seen above hat.
  391.  
  392. (function() {
  393. class xXSploopyTailXx {
  394. constructor() {
  395. this.text = {
  396. color: {
  397. all: "#fff"
  398. },
  399. visible: 1
  400. };
  401. this.rainbow = {};
  402. this.offset = [0, Date.now()];
  403. }
  404.  
  405. xXsploopyColorsXx() {
  406. if (!this.rainbow.old || Date.now() - this.rainbow.old >= this.rainbow.time) {
  407. this.rainbow.hue += this.rainbow.power * Math.random();
  408. this.rainbow.old = Date.now();
  409. }
  410. xXsploopyTextXx.rb = `hsl(${this.rainbow.hue}, 100%, 50%)`;
  411. }
  412.  
  413. xXsploopyOffsetXx() {
  414. if (!this.offset[1] || Date.now() - this.offset[1] >= 10) {
  415. this.offset[0]++;
  416. this.offset[1] = Date.now();
  417. }
  418. }
  419. }
  420.  
  421. let xXsploopyTextXx = new xXSploopyTailXx();
  422.  
  423. class xXSploopyLooperXx {
  424. constructor() {
  425. this.localPlayer = {
  426. position: {
  427. x: 0,
  428. y: 0
  429. },
  430. maxPositions: 50
  431. };
  432. }
  433.  
  434. drawXxSplooptailXx(x, y) {
  435. const radius = 35;
  436.  
  437. Context.save();
  438. Context.beginPath();
  439. Context.arc(x, y, radius, 0, 2 * Math.PI);
  440. Context.lineWidth = 2;
  441. Context.strokeStyle = hitbox_Circle_Colour;
  442. Context.stroke();
  443. Context.restore();
  444. }
  445.  
  446. updateXxSploopyPositionXx(x, y) {
  447. this.localPlayer.position = {
  448. x,
  449. y
  450. };
  451. }
  452.  
  453. drawXxSploopyCircleXx() {
  454. const {
  455. x,
  456. y
  457. } = this.localPlayer.position;
  458. this.drawXxSplooptailXx(x, y);
  459. }
  460. }
  461.  
  462. let xXsploopyLooperXx = new xXSploopyLooperXx();
  463.  
  464. let Context;
  465.  
  466. let {
  467. clearRect,
  468. fillRect
  469. } = CanvasRenderingContext2D.prototype;
  470.  
  471. CanvasRenderingContext2D.prototype.clearRect = function(x, y, width, height) {
  472. if (this.canvas.id === "game-canvas") {
  473. Context = this.canvas.getContext("2d");
  474. xXsploopyTextXx.xXsploopyColorsXx();
  475. }
  476. return clearRect.apply(this, arguments);
  477. };
  478.  
  479. CanvasRenderingContext2D.prototype.fillRect = function(x, y, width, height) {
  480. if (document.getElementById("homepage").style.display == "none") {
  481. xXsploopyTextXx.xXsploopyOffsetXx();
  482. if (this.fillStyle == "#a4cc4f") {
  483. xXsploopyLooperXx.updateXxSploopyPositionXx(x + 48, y - 70);
  484. xXsploopyLooperXx.drawXxSploopyCircleXx();
  485. }
  486. if (this.fillStyle == "#cc5151" && Remove_weird_circle_above_animals === 0) {
  487. xXsploopyLooperXx.updateXxSploopyPositionXx(x + 48, y - 70);
  488. xXsploopyLooperXx.drawXxSploopyCircleXx();
  489. }
  490. }
  491. return fillRect.apply(this, arguments);
  492. };
  493. })();