Skip to content

PhobiaCide/PhobiaCide-s-Wormhole-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’‹ PhobiaCide's Wormhole Guide

๐ŸŒŒ An exhaustive Eve Online wormhole site reference

  • โš ๏ธ PhobiaCide's Wormhole Guide is a Published Google Sheets work book that was Modified from Rykki's Wormhole Guide(deprecated)

    • ๐Ÿ‘ It is a must have for wormhole life, especially for those just beginning to explore

    • ๐Ÿ›ฐ Using this guide, a capsuleer would have detailed knowledge on the dangers and rewards of each site

Features

๐Ÿ‘จโ€๐Ÿš€ lists all Wormhole sites

  • ๐Ÿ—ƒ๏ธ site name and type
  • ใ€ฐ๏ธ number of waves

๐Ÿ’ค Sleepers encountered there

  • ๐Ÿ›ธ number of ships
  • ๐Ÿฆ€ class of ships(e.g. frigate, cruiser, battleship)
  • ๐Ÿ’ฅ potential damage output(DPS) of each wave
  • ๐Ÿ”ซ which sleeper will trigger the next wave

โšก Types of electronic warfare used by the sleepers

  • ๐Ÿณ number of warp scramblers
  • ๐Ÿ•ธ๏ธ number of stasis webifiers
  • ๐Ÿ”‹ capacitor neutralization in GJ/s

๐Ÿ’ฐ Rewards

  • ๐Ÿ’Žtotal loot value for a given site
  • ๐Ÿ‘พ sleeper EHP/isk value for a given site

๐Ÿ’บ With this tool in your belt, even before undocking, you can see:

  • ๐Ÿ”ฎ If your ship and fit can handle a particular site
  • ๐Ÿ’Ž The ISK value of a particular ore field
  • โ˜๏ธ Which gas cloud is best to huff first
  • โฑ Best possible site time under ideal conditions

๐ŸŒ  Details

I Redesigned Front End

1. ๐Ÿš€ Ship Icons

  • ๐ŸŽฏ Example Of Icons Used In the Guide

    ShipIcons

2. โ˜„๏ธ Aesthetic and Engaging Graphical Table

  • ๐Ÿญ A Peek At Graphical Elements Used

    Graphical Table

II Up-To-Date Back End

1. ๐Ÿ‘ฝ Data for calculating sleeper engagement profile is updated every day

  • ๐Ÿ“‰ View Chart

    Some Key Columns From The Chart:

    Figure Definition
    Scram Points of scram and range
    Web Quantity of webs and optimal range
    Neut Rate of capacitor neutralization and optimal range
    RRep Rate of remote repair and optimal range
    Sig The signature radius of the ship
    Speed The sleeper's top speed when not at orbit range
    Distance The sleeper's preferred distance at which to orbit
    Velocity The speed the sleeper will burn while orbiting

    Full Table

2. ๐Ÿ“ˆ Market data for all relevant types is updated every hour

  • ๐Ÿงฎ Example Market Data

    Market Data

3. โš ๏ธ Sleeper Damage Graph

  • ๐Ÿ“Š Check It Out

    The following graph is included in the guide and is actively calculated based on the data received from esi.evetech.net.

    Damage Graph

III Acknowledgements

  • Thanks to Fuzzy Steve for maintaining a market database and for writing loadRegionAggregates()
    /**
    * @function
    * @alias loadRegionAggregates()
    * @summary Requests aggregated market data from market.fuzzwork.co.uk for a given list of type Ids
    * @param {array} dirtyTypeIds - must be 2-dimensional
    * @param {number} [regionId = 10000002]
    * @throws Will throw an error if dirtyTypeIds is undefined
    *
    * @returns {array} Market data for the given types
    */
    function loadRegionAggregates(dirtyTypeIds, regionId = 10000002) {
      try {
        if (typeof dirtyTypeIds == `undefined`) {
          throw `Need a list of typeids`;
        }
    
        const prices = [];
        const cleanTypeIds = [];
    
        const url = `https://market.fuzzwork.co.uk/aggregates/?region=${regionId}&types=`;
        const options = { method: `get`, payload: `` };
    
        dirtyTypeIds.forEach(row => {
          row.forEach(cell => {
          if (typeof cell === "number") {
            cleanTypeIds.push(cell);
          }
        });
      });
    
      prices.push([
        "Buy volume",
        "Buy Weighted Average",
        "Max Buy",
        "Min Buy",
        "Buy Std Dev",
        "Median Buy",
        "Percentile Buy Price",
        "Sell volume",
        "Sell Weighted Average",
        "Max sell",
        "Min Sell",
        "Sell Std Dev",
        "Median Sell",
        "Percentile Sell Price",
      ]);
    
      function spliceChunks(array, chunkSize) {
        const result = [];
        while (array.length > 0) {
          const chunk = array.splice(0, chunkSize);
          result.push(chunk);
        }
        return result;
      }
    
      const chunkSize = 100;
      const chunkedArray = spliceChunks(cleanTypeIds, chunkSize);
      chunkedArray.forEach(chunk => {
        Utilities.sleep(Math.random() * 200);
        const urlTypes = chunk.join(",").replace(/,$/, "");
        const json = JSON.parse(
          UrlFetchApp.fetch(url + urlTypes, options).getContentText(),
        );
        if (json) {
          chunk.forEach(entry => {
            const price = [
              parseInt(json[entry].buy.volume),
              parseInt(json[entry].buy.weightedAverage),
              parseFloat(json[entry].buy.max),
              parseFloat(json[entry].buy.min),
              parseFloat(json[entry].buy.stddev),
              parseFloat(json[entry].buy.median),
              parseFloat(json[entry].buy.percentile),
              parseInt(json[entry].sell.volume),
              parseFloat(json[entry].sell.weightedAverage),
              parseFloat(json[entry].sell.max),
              parseFloat(json[entry].sell.min),
              parseFloat(json[entry].sell.stddev),
              parseFloat(json[entry].sell.median),
              parseFloat(json[entry].sell.percentile),
            ];
            prices.push(price);
          });
        }
      });
    } catch (error) {
      // TODO (developer) Handle Exception
      console.error(`loadRegionAggregates() failed with error:
        ${error.message}.`,
      );
    } finally {
      return prices;
    }
    }

๐Ÿช Link To The Guide

Without further ado, here is a link to see the wormhole guide!

Made with ๐Ÿ”ฅ by PhobiaCide