Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.28 KB | None | 0 0
  1. /*
  2. * DinoDevs
  3. * Copyright 2017
  4. * All rights reserved.
  5. */
  6.  
  7. (function(){
  8. var log = window.console.log;
  9.  
  10. var EverWingHacks = {
  11. // State
  12. active : true,
  13. groupSize : 1,
  14. groupLimit : 20,
  15.  
  16. /* Load
  17. ---------------------------------------- */
  18. // Load hack
  19. load : function() {
  20. this.hacks.init(this);
  21.  
  22. // Hook ticks
  23. log("[EverWingHacks] Hooking game's ticks ...");
  24. this.ticksInterval = setInterval(() => {
  25. this.ticks();
  26. }, 1000/60);
  27.  
  28. // Check group size
  29. this.groupInterval = setInterval(() => {
  30. FBInstant.context.getPlayersAsync().then((data) => {
  31. if (data) this.groupSize = data.length;
  32. });
  33. }, 2000);
  34. },
  35.  
  36. // Handle tick
  37. ticksInterval : null,
  38. ticks : function(){
  39. this.game.resolveGame(this);
  40.  
  41. // Game play hacks
  42. if (this.active && this.game.isPlaying()) {
  43.  
  44. // On game start
  45. if(this.game.isEnteringGame()){
  46. // Lives hack
  47. this.hacks.lives.apply();
  48. // Sidekick powers hack
  49. this.hacks.sidekickPowers.apply();
  50. }
  51.  
  52. // Magnet hack
  53. this.hacks.magnet.tick();
  54. // Double shot hack
  55. this.hacks.doubleShot.tick();
  56. // Rush hack
  57. this.hacks.rush.tick();
  58. // No meteors hack
  59. this.hacks.noMeteors.tick();
  60. // Weapon hack
  61. this.hacks.weapon.tick();
  62. this.hacks.sidekickWeapon.tick();
  63. // Waves space hack
  64. this.hacks.waveSpacing.tick();
  65. // Loots hack
  66. this.hacks.lootWeights.tick();
  67. // Time hack
  68. this.hacks.timeScale.tick();
  69. }
  70. },
  71.  
  72. /* Game functions
  73. ---------------------------------------- */
  74. game : {
  75.  
  76. resolveGame : function(self){
  77. this.enteringGame_history = this.playing;
  78.  
  79. // If game has not started
  80. if(!window.GC.app.gameModel.gameStarted)
  81. this.playing = false;
  82. // If game over
  83. else if(window.GC.app.gameModel.gameOver)
  84. this.playing = false;
  85. // Game active
  86. else
  87. this.playing = true;
  88. },
  89.  
  90. playing : false,
  91. isPlaying : function(){
  92. // State
  93. return this.playing;
  94. },
  95.  
  96. enteringGame : false,
  97. enteringGame_history : false,
  98. isEnteringGame : function(){
  99. return (this.playing && this.enteringGame_history == false);
  100. }
  101. },
  102.  
  103. /* Hacks
  104. ---------------------------------------- */
  105. hacks : {
  106.  
  107. init : function(self) {
  108. this.magnet.self = self;
  109. this.magnet.tools = this.tools;
  110. this.doubleShot.self = self;
  111. this.doubleShot.tools = this.tools;
  112. this.rush.self = self;
  113. this.rush.tools = this.tools;
  114. this.noMeteors.self = self;
  115. this.noMeteors.tools = this.tools;
  116. this.lives.self = self;
  117. this.lives.tools = this.tools;
  118. this.weapon.self = self;
  119. this.weapon.tools = this.tools;
  120. this.sidekickWeapon.self = self;
  121. this.sidekickWeapon.tools = this.tools;
  122. this.sidekickPowers.self = self;
  123. this.sidekickPowers.tools = this.tools;
  124. this.waveSpacing.self = self;
  125. this.waveSpacing.tools = this.tools;
  126. this.lootWeights.self = self;
  127. this.lootWeights.tools = this.tools;
  128. this.timeScale.self = self;
  129. this.timeScale.tools = this.tools;
  130. },
  131.  
  132. /* Codes
  133. ---------------------------------------- */
  134. magnet : {
  135. // Manage
  136. name : 'hacks.magnet',
  137. active : false,
  138. history : false,
  139. // Constants
  140. reach : 500,
  141. // Tick inject
  142. tick : function() {
  143. if(this.active && this.self.groupSize <= this.self.groupLimit){
  144. this.history = true;
  145. this.tools.powerTimer.on(window.GC.app.gameModel.magnetTimer);
  146. window.GC.app.gameModel.player.magnetReach = this.reach;
  147. }
  148. else if (this.history){
  149. this.history = false;
  150. this.tools.powerTimer.off(window.GC.app.gameModel.magnetTimer);
  151. window.GC.app.gameModel.player.magnetReach = 0;
  152. }
  153. }
  154. },
  155.  
  156. doubleShot : {
  157. // Manage
  158. name : 'hacks.doubleShot',
  159. active : false,
  160. history : false,
  161. // Tick inject
  162. tick : function() {
  163. if(this.active && this.self.groupSize <= this.self.groupLimit){
  164. this.history = true;
  165. this.tools.powerTimer.on(window.GC.app.gameModel.doubleShotTimer);
  166. }
  167. else if (this.history){
  168. this.history = false;
  169. this.tools.powerTimer.off(window.GC.app.gameModel.doubleShotTimer);
  170. }
  171. }
  172. },
  173.  
  174. rush : {
  175. // Manage
  176. name : 'hacks.rush',
  177. active : false,
  178. history : false,
  179. normal : 0,
  180. // Tick inject
  181. tick : function() {
  182. if(this.active && this.self.groupSize <= this.self.groupLimit){
  183. if (!this.history){
  184. this.normal = window.GC.app.gameModel.player.vy;
  185. }
  186. this.history = true;
  187. this.tools.powerTimer.on(window.GC.app.gameModel.rushTimer);
  188. window.GC.app.gameModel.player.vy = -1.9;
  189. }
  190. else if (this.history){
  191. this.history = false;
  192. this.tools.powerTimer.off(window.GC.app.gameModel.rushTimer);
  193. window.GC.app.gameModel.player.vy = this.normal;
  194. }
  195. }
  196. },
  197.  
  198. noMeteors : {
  199. // Manage
  200. name : 'hacks.noMeteors',
  201. active : false,
  202. // Tick inject
  203. tick : function() {
  204. if(this.active && this.self.groupSize <= this.self.groupLimit){
  205. for (var i = window.GC.app.gameModel.meteors._pool._models.length - 1; i >= 0; i--) {
  206. window.GC.app.gameModel.meteors._pool._models[i].health = 0;
  207. }
  208. }
  209. }
  210. },
  211.  
  212. lives : {
  213. // Manage
  214. name : 'hacks.lives',
  215. active : false,
  216. // Variables
  217. lives : 3,
  218. // Inject
  219. apply : function() {
  220. if(this.active && this.self.groupSize <= this.self.groupLimit){
  221. window.GC.app.gameModel.extraLives = this.lives;
  222. }
  223. else if (this.active) {
  224. window.GC.app.gameModel.extraLives = 1;
  225. }
  226. }
  227. },
  228.  
  229. weapon : {
  230. // Manage
  231. name : 'hacks.weapon',
  232. active : false,
  233. // Variables
  234. damage : -1,
  235. level : -1,
  236. speed : -1,
  237. // Tick inject
  238. tick : function() {
  239. if(this.active && this.self.groupSize <= this.self.groupLimit){
  240. if(this.damage >= 0)
  241. window.GC.app.gameModel.player.damage = this.damage;
  242. if(this.level >= 0)
  243. window.GC.app.gameModel.player.bulletLevel = this.level;
  244. if(this.speed >= 0)
  245. window.GC.app.gameModel.player.shootTimeout = 101 - this.speed;
  246. }
  247. }
  248. },
  249.  
  250. sidekickWeapon : {
  251. // Manage
  252. name : 'hacks.sidekickweapon',
  253. active : false,
  254. // Variables
  255. damage : -1,
  256. level : -1,
  257. speed : -1,
  258. // Tick inject
  259. tick : function() {
  260. var sidekick;
  261. for (var i = 0; i < window.GC.app.gameModel.sidekicks.models.length; i++) {
  262. sidekick = window.GC.app.gameModel.sidekicks.models[i];
  263. if(this.active && this.self.groupSize <= this.self.groupLimit){
  264. if(this.damage >= 0)
  265. sidekick.damage = this.damage;
  266. if(this.level >= 0)
  267. sidekick.bulletLevel = this.level;
  268. if(this.speed >= 0)
  269. sidekick.shootTimeout = 101 - this.speed;
  270. }
  271. }
  272. }
  273. },
  274.  
  275. sidekickPowers : {
  276. // Manage
  277. name : 'hacks.sidekickpowers',
  278. active : false,
  279. // Constants
  280. powers : ["homing","bombs","dualShot","spreadShot","bossKiller","rushFlowers","poison","gems","itemBoost","itemSpawn","snowKiller","treasure","slowing","questing","charm","ice"],
  281. // Inject
  282. apply : function() {
  283. if (this.self.groupSize <= this.self.groupLimit){
  284. var sidekick;
  285. for (var i = 0; i < window.GC.app.gameModel.sidekicks.models.length; i++) {
  286. sidekick = window.GC.app.gameModel.sidekicks.models[i];
  287. for (var j = 0; j < this.powers.length; j++) {
  288. if(sidekick.powers.indexOf(this.powers[j]) < 0){
  289. sidekick.powers = JSON.parse(JSON.stringify(sidekick.powers));
  290. sidekick.powers.push(this.powers[j]);
  291. }
  292. }
  293. }
  294. }
  295. }
  296. },
  297.  
  298. waveSpacing : {
  299. // Manage
  300. name : 'hacks.wavespacing',
  301. active : false,
  302. // Variables
  303. space : 1,
  304. // Tick inject
  305. tick : function() {
  306. if(this.active && this.self.groupSize <= this.self.groupLimit){
  307. window.GC.app.gameModel.enemies.waveSpacing = this.space;
  308. }
  309. }
  310. },
  311.  
  312. lootWeights : {
  313. // Manage
  314. name : 'hacks.lootweights',
  315. active : false,
  316. // Variables
  317. weights : {
  318. amethyst : 0,
  319. bulletLevel : 0,
  320. coin : 0,
  321. deathRush : 0,
  322. diamond : 0,
  323. doubleShot : 0,
  324. energy : 0,
  325. laser : 0,
  326. magnet : 0,
  327. ruby : 0,
  328. rush : 0,
  329. slow : 0,
  330. trophy : 1
  331. },
  332. // Tick inject
  333. tick : function() {
  334. if(this.active && this.self.groupSize <= this.self.groupLimit){
  335. for (name in this.weights) {
  336. if (this.weights.hasOwnProperty(name)) {
  337. window.GC.app.gameModel.items.spawnChances[name] = this.weights[name];
  338. }
  339. }
  340. }
  341. }
  342. },
  343.  
  344. timeScale : {
  345. // Manage
  346. name : 'hacks.timescale',
  347. active : false,
  348. history : false,
  349. // Variables
  350. scale : 3,
  351. // Tick inject
  352. tick : function() {
  353. if(this.active && this.self.groupSize <= this.self.groupLimit){
  354. if(!this.history) this.history = true;
  355. window.GC.app.gameModel.timeMult = this.scale;
  356. }
  357. else if (this.history){
  358. this.history = false;
  359. window.GC.app.gameModel.timeMult = 1;
  360. }
  361. }
  362. },
  363.  
  364. /* Tools
  365. ---------------------------------------- */
  366. tools : {
  367. powerTimer : {
  368. on : function(obj){
  369. obj.active = true;
  370. obj.duration = 1e+10;
  371. obj.elapsed = 1e+10;
  372. },
  373. off : function(obj){
  374. obj.active = false;
  375. obj.duration = 1e+4;
  376. obj.elapsed = 1e+4;
  377. }
  378. },
  379.  
  380. getSidekicks : function(){
  381. var equiped = {};
  382. var sidekicks = window.GC.app.gameView.sidekicksModel.sidekicksList;
  383. for(var i=0; i<sidekicks.length; i++){
  384. if(sidekicks[i].state == "equippedLeft"){
  385. equiped.left = sidekicks[i];
  386. }
  387. else if(sidekicks[i].state == "equippedRight"){
  388. equiped.right = sidekicks[i];
  389. }
  390. }
  391. return equiped;
  392. },
  393.  
  394. dailyLimitUse : function(name){
  395. if(typeof this.hacks.limits.daily[name] == "undefined")
  396. return;
  397.  
  398. var value = parseInt(this.self.storage.getItem("limits.daily." + name), 10);
  399. if (!isNaN(value)) {
  400. if (value > 0){
  401. this.self.storage.setItem("limits.daily." + name, value - 1);
  402. this.hacks.limits.daily[name] = value - 1;
  403. }
  404. }
  405. else {
  406. this.self.storage.setItem("limits.daily." + name, 0);
  407. this.hacks.limits.daily[name] = 0;
  408. }
  409. },
  410.  
  411. getNow : function(){
  412. var now = new Date();
  413. return now.getDate() + "/" + (now.getMonth()+1) + "/" + (now.getYear()+1900);
  414. }
  415. },
  416.  
  417.  
  418. /* Actions Codes
  419. ---------------------------------------- */
  420. fakeGame : function(data, callback) {
  421. // Fake game data
  422. var data = data || {};
  423. data.score = data.score || 10 + Math.round(Math.random()*10);
  424. data.seconds = data.seconds || 10 + Math.round(Math.random()*10);
  425. data.coins = data.coins || 0;
  426. data.trophies = data.trophies || 0;
  427. data.energy = data.energy || 0;
  428. data.xp = data.xp || 0;
  429. data.sidekick_xp = data.sidekick_xp || 0;
  430. // Get sidekicks
  431. var sidekicks = {};
  432. var sidekicks_db = window.GC.app.gameView.sidekicksModel.sidekicksList;
  433. for(var i=0; i<sidekicks_db.length; i++){
  434. if(sidekicks_db[i].state == "equippedLeft"){sidekicks.left = sidekicks_db[i];}
  435. else if(sidekicks_db[i].state == "equippedRight"){sidekicks.right = sidekicks_db[i];}
  436. }
  437. // App reference
  438. var app = window.GC.app;
  439. // Send command
  440. app.mvc.commandMap.GamePlayedCommand.prototype.execute.apply({mvc :app.mvc,finishCommand : function(e, $){}},
  441. [{
  442. playerID : app.gameModel.player.id,
  443. secondsElapsed : data.seconds,
  444. killedBy : "Meteor SINGLE " + (Math.round(Math.random()*3) + 1),
  445. background : "ocean",
  446. score : data.score,
  447. commonEarned : data.coins,
  448. premiumEarned : data.trophies,
  449. energyEarned : data.energy,
  450. playerXP : data.xp,
  451. sidekickXP : data.sidekick_xp,
  452. sidekickLeftID : (sidekicks.left) ? sidekicks.left.id : null,
  453. sidekickRightID : (sidekicks.right) ? sidekicks.right.id : null,
  454. }]);
  455. },
  456.  
  457. unlockCharacters : function() {
  458. var names = ["fiona", "sophia", "coin", "magnet", "lenore", "jade", "arcana", "lyra", "trixie", "lucia"];
  459. for (var i = 0; i < names.length; i++) {
  460. if(GC.app.mvc.models.CharactersModel.characters[names[i]].state == "locked")
  461. GC.app.client.runFunction("purchaseCharacter", { characterID: names[i], isFree: true });
  462. }
  463. },
  464.  
  465. charactersMaxLevel : function() {
  466. var names = ["fiona", "sophia", "coin", "magnet", "lenore", "jade", "arcana", "lyra", "trixie", "lucia"];
  467. var level = 1;
  468. var maxlevel = 50;
  469. var state = null;
  470. for (var i = 0; i < names.length; i++) {
  471. if(GC.app.mvc.models.CharactersModel.characters[names[i]].state == "locked") continue;
  472. level = GC.app.mvc.models.CharactersModel.characters[names[i]].level;
  473. maxlevel = GC.app.mvc.models.CharactersModel.characters[names[i]].maxLevel;
  474. state = GC.app.mvc.models.CharactersModel.characters[names[i]].state;
  475. log("Level : " + level + " Max Level : " + maxlevel + " state : " + state);
  476. if(state == "idle" || state == "equiped") {
  477. if(state == "idle") {
  478. GC.app.client.runFunction("equipCharacter", {characterName : names[i]});
  479. log("equiping : " + names[i]);
  480. }
  481. for (x = level; x < maxlevel; x++) {
  482. log("upgrading : " + names[i] + " x : " + x);
  483. GC.app.client.runFunction("purchaseCharacterUpgrade", {characterID : names[i], isFree : true});
  484. }
  485. }
  486. }
  487. },
  488.  
  489. getRandomSideKick : function(callback) {
  490. var gacha = GC.app.client.schemaAPI.getTable("gachaConfig").rows;
  491. return this.getSideKick(gacha[Math.floor(Math.random() * gacha.length)].type, callback);
  492. },
  493.  
  494. getLegendarySideKick : function(callback) {
  495. return this.getSideKick("legendary", callback);
  496. },
  497.  
  498. getSideKick : function(id, callback) {
  499. // Get sidekick
  500. return GC.app.client.runFunction("sidekickGacha", {isFree : true, gachaType : id}).then(function(){
  501. // Get new items
  502. var items = GC.app.client.stateAPI.getNewItems();
  503. // If new items
  504. if (items.length > 0) {
  505. // Console message
  506. log("You got a \"" + items[0].model.name + "\" sidekick!");
  507. // If callback
  508. if(typeof callback == "function")
  509. callback(items[0]);
  510. }
  511. });
  512. },
  513.  
  514. getEnergy : function(x){
  515. if(GC.app.client.schemaManager.models[17]._frozen)
  516. GC.app.client.schemaManager.models[17]._frozen = false;
  517. if (GC.app.client.schemaAPI.getTable("raidEnergyShop").rows.length == 6) {
  518. GC.app.client.schemaManager.models[17].rows = JSON.parse(JSON.stringify(GC.app.client.schemaManager.models[17].rows));
  519. for(var i = 0; i < GC.app.client.schemaManager.models[17].rows.length; i++){
  520. if(GC.app.client.schemaManager.models[17].rows[i].count == x)
  521. break;
  522. }
  523. GC.app.client.schemaManager.models[17].rows.splice(i, 0, {
  524. "id" : "item-free",
  525. "icon" : "resources/images/game/base/item_energy.png",
  526. "count" : x,
  527. "cost" : 0,
  528. "currency" : "trophies",
  529. "bonus" : 0
  530. });
  531. } else {
  532. GC.app.client.schemaAPI.getTable("raidEnergyShop").getRow("item-free").count = x;
  533. }
  534. GC.app.mvc.sendNotification("PurchaseEnergyCommand",{id: "item-free"});
  535. }
  536. }
  537. };
  538.  
  539. // Wait
  540. var loaded = false;
  541. var check = function(){
  542. if(window.GC && window.GC.app && window.GC.app.gameModel && !loaded){
  543. EverWingHacks.load();
  544. loaded = true;
  545. clearInterval(wait);
  546. }
  547. };
  548.  
  549. var wait = setInterval(function(){
  550. check();
  551. }, 100);
  552.  
  553.  
  554.  
  555.  
  556. // Debug
  557. //window.EverWingHacks = EverWingHacks;
  558.  
  559.  
  560.  
  561.  
  562. // Connection
  563. var conn = {
  564.  
  565. isExt : (document.currentScript) ? false : true,
  566. event : {
  567. ext : "ext-event",
  568. page : "page-event"
  569. },
  570.  
  571. init : function(){
  572. if (this.isExt) {
  573. this.event.listen = this.event.ext;
  574. this.event.fire = this.event.page;
  575. // Inject script on page
  576. this.s = document.createElement('script');
  577. this.s.src = chrome.extension.getURL('script.js');
  578. this.s.onload = function() {this.remove();};
  579. // Listent for event
  580. this.s.addEventListener("click", () => {
  581. this.handle();
  582. }, false);
  583. // Inject on page
  584. window.addEventListener("load", () => {
  585. (document.head || document.documentElement).appendChild(this.s);
  586. }, false);
  587. }
  588. else {
  589. this.event.listen = this.event.page;
  590. this.event.fire = this.event.ext;
  591. // Save element
  592. this.s = document.currentScript;
  593. // Listent for event
  594. this.s.addEventListener("click", () => {
  595. this.handle();
  596. }, false);
  597. }
  598. },
  599.  
  600. handle : function() {
  601. if (this.s.dataset.event != this.event.listen) return;
  602. delete this.s.dataset.event;
  603. // Get data
  604. var data = {};
  605. var type = this.s.dataset.type;
  606. delete this.s.dataset.type;
  607. for (let i in this.s.dataset) {
  608. if (this.s.dataset.hasOwnProperty(i)) {
  609. console.log(i, this.s.dataset[i]);
  610. data[i] = JSON.parse(this.s.dataset[i]);
  611. }
  612. }
  613. // Clear old data
  614. for (let i in this.s.dataset) {
  615. if (this.s.dataset.hasOwnProperty(i)) {
  616. delete this.s.dataset[i];
  617. }
  618. }
  619.  
  620. // Call events
  621. for (let i = 0; i < this.list.length; i++) {
  622. let e = this.list[i];
  623. if (e.type == type) {
  624. setTimeout(() => {
  625. e.callback(JSON.parse(JSON.stringify(data)));
  626. }, 0);
  627. }
  628. }
  629. },
  630.  
  631. list : [],
  632. on : function(type, callback) {
  633. this.list.push({
  634. type : type,
  635. callback : callback
  636. });
  637. },
  638.  
  639. fire : function(type, params) {
  640. this.s.dataset.event = this.event.fire;
  641. // Set type
  642. this.s.dataset.type = type;
  643. // Dataset
  644. for (let item in params) {
  645. if (params.hasOwnProperty(item)) {
  646. this.s.dataset[item] = JSON.stringify(params[item]);
  647. }
  648. }
  649. this.s.click();
  650. }
  651. }
  652. conn.init();
  653.  
  654. var logger = function(){
  655. log.apply(null, arguments);
  656. }
  657.  
  658. // Listeners
  659. conn.on("magnet", function(data){
  660. logger("Magnet : ", !EverWingHacks.hacks.magnet.active);
  661. EverWingHacks.hacks.magnet.active = !EverWingHacks.hacks.magnet.active;
  662. });
  663. conn.on("doubleshot", function(data){
  664. logger("DoubleShot : ", !EverWingHacks.hacks.doubleShot.active);
  665. EverWingHacks.hacks.doubleShot.active = !EverWingHacks.hacks.doubleShot.active;
  666. });
  667. conn.on("rush", function(data){
  668. logger("Rush : ", !EverWingHacks.hacks.rush.active);
  669. EverWingHacks.hacks.rush.active = !EverWingHacks.hacks.rush.active;
  670. });
  671. conn.on("nometeors", function(data){
  672. logger("NoMeteors : ", !EverWingHacks.hacks.noMeteors.active);
  673. EverWingHacks.hacks.noMeteors.active = !EverWingHacks.hacks.noMeteors.active;
  674. });
  675. conn.on("timescale", function(data){
  676. logger("TimeScale : ", !EverWingHacks.hacks.timeScale.active);
  677. EverWingHacks.hacks.timeScale.active = !EverWingHacks.hacks.timeScale.active;
  678. });
  679. conn.on("wavespacing", function(data){
  680. logger("WaveSpacing : ", !EverWingHacks.hacks.waveSpacing.active);
  681. EverWingHacks.hacks.waveSpacing.active = !EverWingHacks.hacks.waveSpacing.active;
  682. });
  683. conn.on("lootweights", function(data){
  684. logger("LootWeights : ", !EverWingHacks.hacks.lootWeights.active);
  685. EverWingHacks.hacks.lootWeights.active = !EverWingHacks.hacks.lootWeights.active;
  686. });
  687.  
  688.  
  689.  
  690. conn.on("unlockcharacters", function(data){
  691. logger("UnlockCharacters fired!");
  692. EverWingHacks.hacks.unlockCharacters();
  693. });
  694. conn.on("charactersmaxlevel", function(data){
  695. logger("CharactersMaxLevel fired!");
  696. EverWingHacks.hacks.charactersMaxLevel();
  697. });
  698.  
  699. conn.on("getrandomsidekick", function(data){
  700. EverWingHacks.hacks.getRandomSideKick();
  701. });
  702. conn.on("getcoins", function(data){
  703. logger("GetCoins : ", data.amount);
  704. EverWingHacks.hacks.fakeGame({coins : data.amount});
  705. });
  706. conn.on("gettrophies", function(data){
  707. logger("GetTrophies : ", data.amount);
  708. EverWingHacks.hacks.fakeGame({trophies : data.amount});
  709. });
  710. conn.on("getxp", function(data){
  711. logger("GetXP : ", data.amount);
  712. EverWingHacks.hacks.fakeGame({xp : data.amount});
  713. });
  714. conn.on("getsidekickxp", function(data){
  715. logger("GetSidekickXP : ", data.amount);
  716. EverWingHacks.hacks.fakeGame({sidekick_xp : data.amount});
  717. });
  718.  
  719.  
  720. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement