Module:Sandbox/Skills/data

From Melvor Idle
< Module:Sandbox/Skills
Revision as of 23:11, 31 January 2022 by Auron956 (talk | contribs) (Testing Skills/data for v1.0.2)

Documentation for this module may be created at Module:Sandbox/Skills/data/doc

-- Version: V1.0.2 (?1523)

--[[Generated from console via
(function() {
  var getGameVersion = function() {
      var elemVer = document.querySelector("li[data-target='#modal-major-update']:not(.d-none)")
      if (elemVer !== undefined) {
      	return elemVer.innerText
      }
      else {
        return gameVersion
      }
    }

  var fullText = "-- Version: " + getGameVersion()
  fullText += "\r\n\r\nlocal SkillData = {}"

  var txt = JSON.stringify(SKILLS)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "\r\n\r\nSkillData.Skills = mw.text.jsonDecode('" + txt + "')"
  fullText += txt

  txt = JSON.stringify(Herblore.potions)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "\r\n\r\nSkillData.Herblore = {}\r\nSkillData.Herblore.Potions = mw.text.jsonDecode('" + txt + "')"
  fullText += txt

  txt = JSON.stringify(Thieving.npcs)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Thieving = {}\r\nSkillData.Thieving.NPCs = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(Thieving.areas)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Thieving.Areas = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n" + txt

  txt = JSON.stringify(Thieving.generalRareItems)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Thieving.RareItems = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n" + txt

  txt = JSON.stringify(Mining.rockData)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Mining = {}\r\nSkillData.Mining.Rocks = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(Smithing.recipes)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Smithing = {}\r\nSkillData.Smithing.Recipes = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(fishingAreas)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Fishing = {}\r\nSkillData.Fishing.Areas = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(Firemaking.recipes)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Firemaking = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  var skillKeys = Object.keys(SKILLS);
  var tempUnlocks = {};
  for(var i = 0; i < skillKeys.length; i++) {
  	var key = skillKeys[i];
  	if(SKILLS[key].hasMastery){
  		var chkArray = [];
  		var unlockArray = masteryUnlocks[key];
  		for(var j = 0; j < unlockArray.length; j++) {
  			chkArray[j] = {level: unlockArray[j].level, unlock: getMasteryUnlock(key, j)}
  		}
  		tempUnlocks[key] = chkArray;
  	}
  }

  txt = JSON.stringify(tempUnlocks)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.MasteryUnlocks = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  var tempCheckpoints = {};
  for(var i = 0; i < skillKeys.length; i++) {
  	var key = skillKeys[i];
  	if(SKILLS[key].hasMastery){
  		var chkArray = [];
  		for(var j = 0; j < 4; j++) {
  			chkArray[j] = getMasteryCheckpointBonus(key, j)
  		}
  		tempCheckpoints[key] = {bonuses: chkArray};
  	}
  }

  txt = JSON.stringify(tempCheckpoints)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.MasteryCheckpoints = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  var MasteryPoolXP = []
  for(var i = 0; i < skillKeys.length; i++){
  	var key = skillKeys[i];
  	if(SKILLS[key].hasMastery){
  		MasteryPoolXP[key] = getMasteryPoolTotalXP(key);
  	}
  }
  txt = JSON.stringify(MasteryPoolXP)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.MasteryPoolXP = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(Object.keys(SKILLS).map(function(s) { if (MILESTONES[SKILLS[s].name] === undefined) { return null } else { return MILESTONES[SKILLS[s].name].length } }))
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Milestones = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(priceToUnlockSkill)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.SkillUnlockCosts = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  function titleCase(str) {
    return str.replace(
      /\w\S*/g,
      function(txt) {
        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
      }
    );
  }

  txt = JSON.stringify(Woodcutting.trees)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Woodcutting = {}\r\nSkillData.Woodcutting.Trees = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(PRAYER)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Prayer = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(agilityObstacles)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Agility = {}\r\nSkillData.Agility.Obstacles = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(agilityPassivePillars)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Agility.Pillars = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = "SkillData.Summoning = {}"
  txt += "\r\nSkillData.Summoning.Settings = mw.text.jsonDecode('" + JSON.stringify(SUMMONING.Settings) + "')"
  txt += "\r\nSkillData.Summoning.Marks = mw.text.jsonDecode('" + JSON.stringify(SUMMONING.Marks) + "')"
  fullText += "\r\n\r\n" + txt

  // Time to do some dumb things to the Synergy data to account for the 0-based JS indexing clashing with 1-based Lua indexing
  function wikiGetSummoningSynergies(){
    //Pronounced 'nuisance'
    var newSyns = {};
    var SynKeysBase = Object.keys(SUMMONING.Synergies);
    for(var i = 0; i < SynKeysBase.length; i++){
      var oldKey = parseInt(SynKeysBase[i]);
      var SynKeysChild = Object.keys(SUMMONING.Synergies[oldKey])
      var newChild = {}
  		
      for(var j = 0; j < SynKeysChild.length; j++){
        var oldChildKey = Number.parseInt(SynKeysChild[j])
        newChild[oldChildKey + 1] = SUMMONING.Synergies[oldKey][oldChildKey]
      }
  	
      newSyns[oldKey + 1] = newChild
      }
    return newSyns;
  }
  txt = JSON.stringify(wikiGetSummoningSynergies())
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Summoning.Synergies = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(summoningItems)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Summoning.ItemData = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  // The below function returns a modified version of newFarmingAreas, removing various properties
  // from each patch object that relate to what the user has planted & are therefore useless for
  // wiki purposes. Not required, but simply makes the data cleaner.
  function wikiGetFarmingAreas() {
    let allowedPatchKeys = ['level', 'cost']
    let wikiFarmingAreas = []
    for (i = 0; i < newFarmingAreas.length; i++) {
      let keyList = Object.keys(newFarmingAreas[i]).filter((n) => n !== 'patches')
      let newPatches = []
      let newArea = {}
      for (j = 0; j < newFarmingAreas[i].patches.length; j++) {
        let newPatch = {}
        allowedPatchKeys.forEach((k) => newPatch[k] = newFarmingAreas[i].patches[j][k])
        newPatches[j] = newPatch
      }
      keyList.forEach((n) => newArea[n] = newFarmingAreas[i][n])
      newArea['patches'] = newPatches
      wikiFarmingAreas[i] = newArea
    }
    return wikiFarmingAreas
  }

  txt = JSON.stringify(wikiGetFarmingAreas())
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Farming = {}\r\nSkillData.Farming.Patches= mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(ASTROLOGY)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Astrology = {}\r\nSkillData.Astrology.Constellations = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n\r\n" + txt

  txt = JSON.stringify(AstrologyDefaults)
  txt = txt.replace(/\'/g, "\\\'")
  txt = txt.replace(/\\\"/g, "\\\\\"")
  txt = "SkillData.Astrology.Defaults = mw.text.jsonDecode('" + txt + "')"
  fullText += "\r\n" + txt

  fullText += "\r\n\r\nreturn SkillData"
  console.log(fullText)
})()
--]]

local SkillData = {}

SkillData.Skills = mw.text.jsonDecode('{"0":{"name":"Woodcutting","media":"assets/media/skills/woodcutting/woodcutting.svg","hasMastery":true,"masteryTokenID":481,"maxLevel":99,"miniBarItems":[1099],"intName":"Woodcutting","skillBorder":"border-woodcutting","isPremium":false,"skillCape":460},"1":{"name":"Fishing","media":"assets/media/skills/fishing/fishing.svg","hasMastery":true,"masteryTokenID":475,"maxLevel":99,"miniBarItems":[245,669,1075,1101],"intName":"Fishing","skillBorder":"border-fishing","isPremium":false,"skillCape":450},"2":{"name":"Firemaking","media":"assets/media/skills/firemaking/firemaking.svg","hasMastery":true,"masteryTokenID":474,"maxLevel":99,"miniBarItems":[],"intName":"Firemaking","skillBorder":"border-firemaking","isPremium":false,"skillCape":449},"3":{"name":"Cooking","media":"assets/media/skills/cooking/cooking.svg","hasMastery":true,"masteryTokenID":471,"maxLevel":99,"miniBarItems":[335,1073,1091,1090],"intName":"Cooking","skillBorder":"border-cooking","isPremium":false,"skillCape":445},"4":{"name":"Mining","media":"assets/media/skills/mining/mining.svg","hasMastery":true,"masteryTokenID":477,"maxLevel":99,"miniBarItems":[339,336,1100],"intName":"Mining","skillBorder":"border-mining","isPremium":false,"skillCape":454},"5":{"name":"Smithing","media":"assets/media/skills/smithing/smithing.svg","hasMastery":true,"masteryTokenID":479,"maxLevel":99,"miniBarItems":[337],"intName":"Smithing","skillBorder":"border-smithing","isPremium":false,"skillCape":457},"6":{"name":"Attack","media":"assets/media/skills/attack/attack.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[],"intName":"Attack","skillBorder":"border-combat","isPremium":false,"skillCape":444},"7":{"name":"Strength","media":"assets/media/skills/strength/strength.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[],"intName":"Strength","skillBorder":"border-combat","isPremium":false,"skillCape":458},"8":{"name":"Defence","media":"assets/media/skills/defence/defence.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[],"intName":"Defence","skillBorder":"border-combat","isPremium":false,"skillCape":447},"9":{"name":"Hitpoints","media":"assets/media/skills/hitpoints/hitpoints.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[],"intName":"Hitpoints","skillBorder":"border-combat","isPremium":false,"skillCape":452},"10":{"name":"Thieving","media":"assets/media/skills/thieving/thieving.svg","masteryTokenID":480,"hasMastery":true,"maxLevel":99,"miniBarItems":[338,913,1069,1107,1102,1097,1066],"intName":"Thieving","skillBorder":"border-thieving","isPremium":true,"skillCape":459},"11":{"name":"Farming","media":"assets/media/skills/farming/farming.svg","masteryTokenID":473,"hasMastery":true,"maxLevel":99,"miniBarItems":[811,1096,1108],"intName":"Farming","skillBorder":"border-farming","isPremium":true,"skillCape":448},"12":{"name":"Ranged","media":"assets/media/skills/ranged/ranged.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[],"intName":"Ranged","skillBorder":"border-ranged","isPremium":true,"skillCape":455},"13":{"name":"Fletching","media":"assets/media/skills/fletching/fletching.svg","masteryTokenID":476,"hasMastery":true,"maxLevel":99,"miniBarItems":[],"intName":"Fletching","skillBorder":"border-fletching","isPremium":true,"skillCape":451},"14":{"name":"Crafting","media":"assets/media/skills/crafting/crafting.svg","masteryTokenID":472,"hasMastery":true,"maxLevel":99,"miniBarItems":[],"intName":"Crafting","skillBorder":"border-crafting","isPremium":true,"skillCape":446},"15":{"name":"Runecrafting","media":"assets/media/skills/runecrafting/runecrafting.svg","masteryTokenID":478,"hasMastery":true,"maxLevel":99,"miniBarItems":[1109],"intName":"Runecrafting","skillBorder":"border-runecrafting","isPremium":true,"skillCape":456},"16":{"name":"Magic","media":"assets/media/skills/magic/magic.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[1106],"intName":"Magic","skillBorder":"border-combat","isPremium":true,"skillCape":453},"17":{"name":"Prayer","media":"assets/media/skills/prayer/prayer.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[],"intName":"Prayer","skillBorder":"border-combat","isPremium":true,"skillCape":483},"18":{"name":"Slayer","media":"assets/media/skills/slayer/slayer.svg","hasMastery":false,"maxLevel":99,"miniBarItems":[],"intName":"Slayer","skillBorder":"border-combat","isPremium":true,"skillCape":505},"19":{"name":"Herblore","media":"assets/media/skills/herblore/herblore.svg","masteryTokenID":631,"hasMastery":true,"maxLevel":99,"miniBarItems":[],"intName":"Herblore","skillBorder":"border-herblore","isPremium":true,"skillCape":632},"20":{"name":"Agility","media":"assets/media/skills/agility/agility.svg","masteryTokenID":964,"hasMastery":true,"maxLevel":99,"miniBarItems":[],"intName":"Agility","skillBorder":"border-agility","isPremium":true,"skillCape":965},"21":{"name":"Summoning","media":"assets/media/skills/summoning/summoning.svg","masteryTokenID":997,"hasMastery":true,"maxLevel":99,"miniBarItems":[1005,1006,1007,1008],"intName":"Summoning","skillBorder":"border-summoning","isPremium":true,"skillCape":998},"22":{"name":"Astrology","media":"assets/media/skills/astrology/astrology.svg","masteryTokenID":1168,"hasMastery":true,"maxLevel":99,"miniBarItems":[],"intName":"Astrology","skillBorder":"border-astrology","isPremium":true,"skillCape":1171}}')

SkillData.Herblore = {}
SkillData.Herblore.Potions = mw.text.jsonDecode('[{"masteryID":0,"name":"Melee Accuracy Potion","potionIDs":[535,536,537,538],"category":0,"level":5,"baseXP":8,"consumesOn":"Attack","itemCosts":[{"id":519,"qty":1},{"id":439,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":1,"name":"Melee Strength Potion","potionIDs":[539,540,541,542],"category":0,"level":60,"baseXP":60,"consumesOn":"Attack","itemCosts":[{"id":524,"qty":1},{"id":495,"qty":1},{"id":440,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":2,"name":"Melee Evasion Potion","potionIDs":[543,544,545,546],"category":0,"level":10,"baseXP":10,"consumesOn":"EnemyAttack","itemCosts":[{"id":519,"qty":1},{"id":1014,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":3,"name":"Ranged Assistance Potion","potionIDs":[547,548,549,550],"category":0,"level":15,"baseXP":14,"consumesOn":"Attack","itemCosts":[{"id":520,"qty":1},{"id":1012,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":4,"name":"Magic Assistance Potion","potionIDs":[551,552,553,554],"category":0,"level":25,"baseXP":22,"consumesOn":"Attack","itemCosts":[{"id":521,"qty":1},{"id":500,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":5,"name":"Regeneration Potion","potionIDs":[555,556,557,558],"category":0,"level":35,"baseXP":31,"consumesOn":"Regen","itemCosts":[{"id":522,"qty":1},{"id":130,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":6,"name":"Damage Reduction Potion","potionIDs":[559,560,561,562],"category":0,"level":90,"baseXP":180,"consumesOn":"EnemyAttack","itemCosts":[{"id":526,"qty":2},{"id":495,"qty":2},{"id":619,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":7,"name":"Bird Nests Potion","potionIDs":[563,564,565,566],"category":1,"level":1,"baseXP":5,"consumesOn":"Skill","itemCosts":[{"id":519,"qty":1},{"id":143,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":8,"name":"Fishermans Potion","potionIDs":[567,568,569,570],"category":1,"level":40,"baseXP":36,"consumesOn":"Skill","itemCosts":[{"id":522,"qty":2},{"id":16,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":9,"name":"Controlled Heat Potion","potionIDs":[571,572,573,574],"category":1,"level":20,"baseXP":18,"consumesOn":"Skill","itemCosts":[{"id":520,"qty":2},{"id":5,"qty":3}],"gpCost":0,"scCost":0},{"masteryID":10,"name":"Generous Cook Potion","potionIDs":[575,576,577,578],"category":1,"level":32,"baseXP":28,"consumesOn":"Skill","itemCosts":[{"id":521,"qty":1},{"id":27,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":11,"name":"Perfect Swing Potion","potionIDs":[579,580,581,582],"category":1,"level":53,"baseXP":53,"consumesOn":"Skill","itemCosts":[{"id":523,"qty":1},{"id":48,"qty":2},{"id":50,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":12,"name":"Seeing Gold Potion","potionIDs":[583,584,585,586],"category":1,"level":36,"baseXP":33,"consumesOn":"Skill","itemCosts":[{"id":521,"qty":1},{"id":133,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":13,"name":"Gentle Hands Potion","potionIDs":[587,588,589,590],"category":1,"level":45,"baseXP":41,"consumesOn":"Skill","itemCosts":[{"id":522,"qty":1},{"id":148,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":14,"name":"Generous Harvest Potion","potionIDs":[591,592,593,594],"category":1,"level":74,"baseXP":112,"consumesOn":"Skill","itemCosts":[{"id":525,"qty":1},{"id":158,"qty":2},{"id":470,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":15,"name":"Skilled Fletching Potion","potionIDs":[595,596,597,598],"category":1,"level":42,"baseXP":39,"consumesOn":"Skill","itemCosts":[{"id":522,"qty":2},{"id":291,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":16,"name":"Crafting Potion","potionIDs":[599,600,601,602],"category":1,"level":49,"baseXP":41,"consumesOn":"Skill","itemCosts":[{"id":522,"qty":1},{"id":292,"qty":3}],"gpCost":0,"scCost":0},{"masteryID":17,"name":"Elemental Potion","potionIDs":[603,604,605,606],"category":1,"level":63,"baseXP":63,"consumesOn":"Skill","itemCosts":[{"id":524,"qty":1},{"id":394,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":18,"name":"Herblore Potion","potionIDs":[607,608,609,610],"category":1,"level":71,"baseXP":99,"consumesOn":"Skill","itemCosts":[{"id":525,"qty":3}],"gpCost":0,"scCost":0},{"masteryID":19,"name":"Magic Damage Potion","potionIDs":[615,616,617,618],"category":0,"level":65,"baseXP":85,"consumesOn":"Attack","itemCosts":[{"id":524,"qty":1},{"id":495,"qty":1},{"id":158,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":20,"name":"Ranged Strength Potion","potionIDs":[611,612,613,614],"category":0,"level":45,"baseXP":45,"consumesOn":"Attack","itemCosts":[{"id":523,"qty":2},{"id":495,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":21,"name":"Diamond Luck Potion","potionIDs":[633,634,635,636],"category":0,"level":85,"baseXP":160,"consumesOn":"Attack","itemCosts":[{"id":526,"qty":1},{"id":132,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":22,"name":"Divine Potion","potionIDs":[637,638,639,640],"category":0,"level":57,"baseXP":51,"consumesOn":"PrayerPointCost","itemCosts":[{"id":523,"qty":1},{"id":500,"qty":1},{"id":506,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":23,"name":"Lucky Herb Potion","potionIDs":[641,642,643,644],"category":0,"level":50,"baseXP":47,"consumesOn":"HerbSeedDrop","itemCosts":[{"id":523,"qty":2},{"id":159,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":24,"name":"Performance Enhancing Potion","potionIDs":[966,967,968,969],"category":1,"level":62,"baseXP":61,"consumesOn":"Skill","itemCosts":[{"id":524,"qty":2},{"id":657,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":25,"name":"Necromancer Potion","potionIDs":[1001,1002,1003,1004],"category":1,"level":55,"baseXP":50,"consumesOn":"Skill","itemCosts":[{"id":523,"qty":2},{"id":506,"qty":1},{"id":278,"qty":20}],"gpCost":0,"scCost":0},{"masteryID":26,"name":"Hinder Potion","potionIDs":[1155,1156,1157,1158],"category":0,"level":18,"baseXP":16,"consumesOn":"Attack","itemCosts":[{"id":520,"qty":1},{"id":1117,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":27,"name":"Famished Potion","potionIDs":[1159,1160,1161,1162],"category":0,"level":40,"baseXP":38,"consumesOn":"AutoEat","itemCosts":[{"id":522,"qty":1},{"id":1118,"qty":1}],"gpCost":0,"scCost":0},{"masteryID":28,"name":"Lethal Toxins Potion","potionIDs":[1163,1164,1165,1166],"category":0,"level":68,"baseXP":92,"consumesOn":"Attack","itemCosts":[{"id":524,"qty":2},{"id":657,"qty":2}],"gpCost":0,"scCost":0},{"masteryID":29,"name":"Secret Stardust Potion","potionIDs":[1172,1173,1174,1175],"category":1,"level":47,"baseXP":47,"consumesOn":"Skill","itemCosts":[{"id":522,"qty":2},{"id":1169,"qty":1}],"gpCost":0,"scCost":0}]')

SkillData.Thieving = {}
SkillData.Thieving.NPCs = mw.text.jsonDecode('[{"id":0,"name":"Man","media":"assets/media/skills/thieving/man.svg","level":1,"perception":110,"maxHit":2.2,"xp":5,"maxGP":100,"uniqueDrop":{"itemID":-1,"qty":1},"lootTable":[]},{"id":1,"name":"Golbin","media":"assets/media/skills/thieving/goblin.svg","level":8,"perception":175,"maxHit":4,"xp":10,"maxGP":175,"uniqueDrop":{"itemID":-1,"qty":1},"lootTable":[[45,50,1],[46,50,1],[47,12,1],[55,50,1],[56,15,1],[57,10,1],[0,50,1],[1,15,1],[2,10,1]]},{"id":2,"name":"Lumberjack","media":"assets/media/skills/thieving/lumberjack.svg","level":61,"perception":480,"maxHit":15.5,"xp":62,"maxGP":500,"uniqueDrop":{"itemID":1099,"qty":1},"lootTable":[[4,10,1],[5,6,1],[6,4,1],[7,2,1],[8,1,1]]},{"id":3,"name":"Bob the Farmer","media":"assets/media/skills/thieving/farmer.svg","level":39,"perception":420,"maxHit":13.7,"xp":36,"maxGP":400,"uniqueDrop":{"itemID":1096,"qty":1},"lootTable":[[143,280,1],[144,180,1],[620,150,1],[145,140,1],[146,110,1],[147,80,1],[148,50,1],[1062,35,1],[149,20,1],[159,20,1],[150,18,1],[469,15,1],[160,80,1],[161,30,1],[162,15,1],[163,5,1],[164,1,1]]},{"id":4,"name":"Fisherman","media":"assets/media/skills/thieving/fisherman.svg","level":54,"perception":400,"maxHit":10.1,"xp":46,"maxGP":450,"uniqueDrop":{"itemID":-1,"qty":1},"lootTable":[[15,80,1],[662,80,1],[663,60,1],[16,46,1],[665,36,1],[17,29,1],[18,23,1],[19,16,1],[20,11,1]]},{"id":5,"name":"Chef","media":"assets/media/skills/thieving/chef.svg","level":34,"perception":350,"maxHit":10.8,"xp":31,"maxGP":300,"uniqueDrop":{"itemID":1091,"qty":1},"lootTable":[[26,39,1],[1022,21,1],[671,20,1],[1023,13,1],[29,7,1],[1025,6,1]]},{"id":6,"name":"Miner","media":"assets/media/skills/thieving/miner.svg","level":70,"perception":600,"maxHit":18,"xp":73,"maxGP":550,"uniqueDrop":{"itemID":1100,"qty":1},"lootTable":[[50,156,1],[51,80,1],[52,29,1],[53,19,1],[54,11,1]]},{"id":7,"name":"Knight","media":"assets/media/skills/thieving/knight.svg","level":88,"perception":820,"maxHit":24.1,"xp":107,"maxGP":750,"uniqueDrop":{"itemID":1093,"qty":1},"lootTable":[[115,61,1],[110,74,1],[101,199,1],[99,369,1],[97,343,1],[105,129,1],[111,83,1],[98,226,1],[126,103,1]]},{"id":8,"name":"Woman","media":"assets/media/skills/thieving/woman.svg","level":4,"perception":140,"maxHit":3.2,"xp":7,"maxGP":150,"uniqueDrop":{"itemID":1098,"qty":1},"lootTable":[]},{"id":9,"name":"Golbin Chief","media":"assets/media/skills/thieving/golbin_chief.svg","level":16,"perception":280,"maxHit":10.1,"xp":18,"maxGP":275,"uniqueDrop":{"itemID":1097,"qty":1},"lootTable":[[48,22,1],[50,12,1],[58,9,1],[60,6,1],[4,9,1],[6,5,1]]},{"id":10,"name":"Bandit Thug","media":"assets/media/skills/thieving/bandit_thug.svg","level":12,"perception":220,"maxHit":5.4,"xp":13,"maxGP":200,"uniqueDrop":{"itemID":-1,"qty":1},"lootTable":[[250,20,1],[256,20,1],[262,20,10],[263,20,10],[251,4,1],[257,4,1],[264,4,10],[252,1,1],[258,1,1],[265,1,10]]},{"id":11,"name":"Marauder","media":"assets/media/skills/thieving/marauder.svg","level":21,"perception":250,"maxHit":6.8,"xp":19,"maxGP":225,"uniqueDrop":{"itemID":1089,"qty":1},"lootTable":[[266,249,10],[267,48,10],[268,26,10],[693,5,1],[694,3,1],[695,1,1]]},{"id":12,"name":"Merchant","media":"assets/media/skills/thieving/merchant.svg","level":31,"perception":300,"maxHit":9.7,"xp":29,"maxGP":350,"uniqueDrop":{"itemID":1095,"qty":1},"lootTable":[[519,324,1],[520,150,1],[521,105,1],[522,83,1],[523,64,1],[524,56,1],[525,51,1],[526,46,1]]},{"id":13,"name":"Assistant Cook","media":"assets/media/skills/thieving/assistant_cook.svg","level":26,"perception":275,"maxHit":8.6,"xp":26,"maxGP":250,"uniqueDrop":{"itemID":1090,"qty":1},"lootTable":[[1011,53,1],[1015,37,1],[22,23,1],[1017,13,1],[23,12,1],[1018,7,1]]},{"id":14,"name":"Dock Hand","media":"assets/media/skills/thieving/dock_hand.svg","level":45,"perception":375,"maxHit":11.9,"xp":42,"maxGP":375,"uniqueDrop":{"itemID":1101,"qty":1},"lootTable":[[9,50,1],[10,13,1],[656,9,1],[11,7,1],[12,4,1]]},{"id":15,"name":"Troll","media":"assets/media/skills/thieving/troll.svg","level":49,"perception":450,"maxHit":15.1,"xp":50,"maxGP":425,"uniqueDrop":{"itemID":-1,"qty":1},"lootTable":[[49,40,1],[51,11,1],[133,27,1],[59,19,1],[3,27,1],[5,8,1]]},{"id":16,"name":"Cyclops","media":"assets/media/skills/thieving/cyclops.svg","level":57,"perception":520,"maxHit":17.3,"xp":53,"maxGP":475,"uniqueDrop":{"itemID":1094,"qty":1},"lootTable":[[7,26,1],[4,100,1],[61,31,1],[60,59,1],[53,22,1],[52,31,1]]},{"id":17,"name":"Squire","media":"assets/media/skills/thieving/squire.svg","level":66,"perception":550,"maxHit":16.9,"xp":67,"maxGP":525,"uniqueDrop":{"itemID":1092,"qty":1},"lootTable":[[64,100,1],[432,53,1],[134,12,1],[82,23,1],[89,6,1],[122,53,1],[464,23,1],[68,100,1],[94,6,1],[75,53,1]]},{"id":18,"name":"Wizard","media":"assets/media/skills/thieving/wizard.svg","level":84,"perception":750,"maxHit":21.6,"xp":95,"maxGP":700,"uniqueDrop":{"itemID":1106,"qty":1},"lootTable":[[395,137,10],[850,105,1],[821,98,10],[827,98,10],[853,82,1],[852,66,1],[858,62,1],[822,56,10],[828,56,10],[851,53,1],[861,51,1],[860,42,1],[829,35,10],[859,35,1],[396,29,10],[397,20,10]]},{"id":19,"name":"Acolyte","media":"assets/media/skills/thieving/acolyte.svg","level":75,"perception":575,"maxHit":16.2,"xp":76,"maxGP":575,"uniqueDrop":{"itemID":1105,"qty":1},"lootTable":[[388,75,1],[389,75,10],[830,75,1],[390,60,10],[833,49,1],[391,43,10],[832,36,1],[392,32,10],[838,32,1],[824,30,10],[831,29,1],[841,26,1],[393,25,10],[820,24,10],[840,23,1],[394,21,10],[825,21,10],[839,20,1],[826,17,10]]},{"id":20,"name":"Court Jester","media":"assets/media/skills/thieving/court_jester.svg","level":79,"perception":715,"maxHit":19.8,"xp":82,"maxGP":625,"uniqueDrop":{"itemID":1102,"qty":1},"lootTable":[]},{"id":21,"name":"King","media":"assets/media/skills/thieving/king.svg","level":95,"perception":950,"maxHit":30.6,"xp":133,"maxGP":1000,"uniqueDrop":{"itemID":1104,"qty":1},"lootTable":[[130,9,1],[317,16,1],[327,14,1],[322,13,1],[332,14,1],[131,9,1],[318,15,1],[323,12,1],[328,14,1],[333,12,1],[132,1,1],[324,3,1],[334,3,1],[316,36,1],[326,68,1],[321,46,1],[331,44,1]]},{"id":22,"name":"Princess","media":"assets/media/skills/thieving/princess.svg","level":92,"perception":890,"maxHit":26.6,"xp":120,"maxGP":850,"uniqueDrop":{"itemID":1103,"qty":300},"lootTable":[[128,8,1],[315,10,1],[325,9,1],[320,10,1],[330,9,1],[129,6,1],[316,7,1],[326,9,1],[321,7,1],[331,7,1],[319,2,1],[329,3,1],[58,13,1],[133,32,1]]}]')
SkillData.Thieving.Areas = mw.text.jsonDecode('[{"id":0,"name":"Low Town","npcs":[0,8],"uniqueDrops":[{"itemID":1067,"qty":1}]},{"id":1,"name":"Golbin Village","npcs":[1,9],"uniqueDrops":[{"itemID":1068,"qty":1}]},{"id":2,"name":"Bandit Hideout","npcs":[10,11],"uniqueDrops":[{"itemID":1069,"qty":1},{"itemID":1070,"qty":1}]},{"id":3,"name":"Farmer\'s Market","npcs":[12,3],"uniqueDrops":[{"itemID":1071,"qty":1},{"itemID":1072,"qty":10},{"itemID":1111,"qty":3}]},{"id":4,"name":"Banquet","npcs":[13,5],"uniqueDrops":[{"itemID":1010,"qty":200},{"itemID":1073,"qty":1}]},{"id":5,"name":"Port of Lemvor","npcs":[14,4],"uniqueDrops":[{"itemID":1074,"qty":1},{"itemID":120,"qty":1},{"itemID":1075,"qty":1000}]},{"id":6,"name":"Cave of Giants","npcs":[15,16],"uniqueDrops":[{"itemID":1076,"qty":1},{"itemID":1077,"qty":1},{"itemID":495,"qty":100}]},{"id":7,"name":"Outskirts","npcs":[2,6],"uniqueDrops":[{"itemID":1078,"qty":1},{"itemID":1079,"qty":1}]},{"id":8,"name":"Fort","npcs":[17,7],"uniqueDrops":[{"itemID":1080,"qty":1},{"itemID":1081,"qty":1},{"itemID":1082,"qty":1000}]},{"id":9,"name":"Wizard Tower","npcs":[19,18],"uniqueDrops":[{"itemID":1083,"qty":1000},{"itemID":1084,"qty":1},{"itemID":1085,"qty":1000}]},{"id":10,"name":"Royal Castle","npcs":[20,22,21],"uniqueDrops":[{"itemID":1086,"qty":1},{"itemID":1087,"qty":1},{"itemID":1088,"qty":1}]}]')
SkillData.Thieving.RareItems = mw.text.jsonDecode('[{"itemID":482,"chance":0.8333333333333334},{"itemID":630,"chance":0.005},{"itemID":1066,"chance":0.006666666666666667}]')

SkillData.Mining = {}
SkillData.Mining.Rocks = mw.text.jsonDecode('[{"levelRequired":1,"baseRespawnInterval":5000,"oreID":45,"masteryID":0,"baseQuantity":1,"baseExperience":7,"name":"Copper","media":"assets/media/skills/mining/rock_copper.svg"},{"levelRequired":1,"baseRespawnInterval":5000,"oreID":46,"masteryID":1,"baseQuantity":1,"baseExperience":7,"name":"Tin","media":"assets/media/skills/mining/rock_tin.svg"},{"levelRequired":15,"baseRespawnInterval":10000,"oreID":47,"masteryID":2,"baseQuantity":1,"baseExperience":14,"name":"Iron","media":"assets/media/skills/mining/rock_iron.svg"},{"levelRequired":30,"baseRespawnInterval":10000,"oreID":48,"masteryID":3,"baseQuantity":1,"baseExperience":18,"name":"Coal","media":"assets/media/skills/mining/rock_coal.svg"},{"levelRequired":30,"baseRespawnInterval":15000,"oreID":49,"masteryID":4,"baseQuantity":1,"baseExperience":25,"name":"Silver","media":"assets/media/skills/mining/rock_silver.svg"},{"levelRequired":40,"baseRespawnInterval":15000,"oreID":50,"masteryID":5,"baseQuantity":1,"baseExperience":28,"name":"Gold","media":"assets/media/skills/mining/rock_gold.svg"},{"levelRequired":50,"baseRespawnInterval":20000,"oreID":51,"masteryID":6,"baseQuantity":1,"baseExperience":65,"name":"Mithril","media":"assets/media/skills/mining/rock_mithril.svg"},{"levelRequired":70,"baseRespawnInterval":30000,"oreID":52,"masteryID":7,"baseQuantity":1,"baseExperience":71,"name":"Adamantite","media":"assets/media/skills/mining/rock_adamantite.svg"},{"levelRequired":80,"baseRespawnInterval":60000,"oreID":53,"masteryID":8,"baseQuantity":1,"baseExperience":86,"name":"Runite","media":"assets/media/skills/mining/rock_runite.svg"},{"levelRequired":95,"baseRespawnInterval":120000,"oreID":54,"masteryID":9,"baseQuantity":1,"baseExperience":101,"name":"Dragonite","media":"assets/media/skills/mining/rock_dragonite.svg"},{"levelRequired":1,"baseRespawnInterval":1000,"oreID":388,"masteryID":10,"baseQuantity":2,"baseExperience":5,"name":"Rune Essence","media":"assets/media/bank/rune_essence.png"}]')

SkillData.Smithing = {}
SkillData.Smithing.Recipes = mw.text.jsonDecode('[{"itemID":55,"baseQuantity":1,"category":0,"baseXP":5,"level":1,"masteryID":0,"itemCosts":[{"id":45,"qty":1},{"id":46,"qty":1}],"gpCost":0,"scCost":0},{"itemID":56,"baseQuantity":1,"category":0,"baseXP":8,"level":10,"masteryID":1,"itemCosts":[{"id":47,"qty":1}],"gpCost":0,"scCost":0},{"itemID":57,"baseQuantity":1,"category":0,"baseXP":12,"level":25,"masteryID":2,"itemCosts":[{"id":47,"qty":1},{"id":48,"qty":2}],"gpCost":0,"scCost":0},{"itemID":58,"baseQuantity":1,"category":0,"baseXP":20,"level":40,"masteryID":3,"itemCosts":[{"id":50,"qty":1}],"gpCost":0,"scCost":0},{"itemID":59,"baseQuantity":1,"category":0,"baseXP":35,"level":40,"masteryID":4,"itemCosts":[{"id":51,"qty":1},{"id":48,"qty":4}],"gpCost":0,"scCost":0},{"itemID":60,"baseQuantity":1,"category":0,"baseXP":42,"level":55,"masteryID":5,"itemCosts":[{"id":52,"qty":1},{"id":48,"qty":6}],"gpCost":0,"scCost":0},{"itemID":61,"baseQuantity":1,"category":0,"baseXP":50,"level":70,"masteryID":6,"itemCosts":[{"id":53,"qty":1},{"id":48,"qty":8}],"gpCost":0,"scCost":0},{"itemID":62,"baseQuantity":1,"category":0,"baseXP":60,"level":85,"masteryID":7,"itemCosts":[{"id":54,"qty":1},{"id":53,"qty":2},{"id":48,"qty":12}],"gpCost":0,"scCost":0},{"itemID":133,"baseQuantity":1,"category":0,"baseXP":15,"level":30,"masteryID":8,"itemCosts":[{"id":49,"qty":1}],"gpCost":0,"scCost":0},{"itemID":63,"baseQuantity":1,"category":1,"baseXP":10,"level":1,"masteryID":9,"itemCosts":[{"id":55,"qty":1}],"gpCost":0,"scCost":0},{"itemID":64,"baseQuantity":1,"category":1,"baseXP":10,"level":4,"masteryID":10,"itemCosts":[{"id":55,"qty":1}],"gpCost":0,"scCost":0},{"itemID":65,"baseQuantity":1,"category":1,"baseXP":30,"level":8,"masteryID":11,"itemCosts":[{"id":55,"qty":3}],"gpCost":0,"scCost":0},{"itemID":66,"baseQuantity":1,"category":1,"baseXP":30,"level":14,"masteryID":12,"itemCosts":[{"id":55,"qty":3}],"gpCost":0,"scCost":0},{"itemID":67,"baseQuantity":1,"category":1,"baseXP":20,"level":7,"masteryID":13,"itemCosts":[{"id":55,"qty":2}],"gpCost":0,"scCost":0},{"itemID":68,"baseQuantity":1,"category":1,"baseXP":20,"level":10,"masteryID":14,"itemCosts":[{"id":55,"qty":2}],"gpCost":0,"scCost":0},{"itemID":69,"baseQuantity":1,"category":1,"baseXP":30,"level":16,"masteryID":15,"itemCosts":[{"id":55,"qty":3}],"gpCost":0,"scCost":0},{"itemID":70,"baseQuantity":1,"category":1,"baseXP":50,"level":18,"masteryID":16,"itemCosts":[{"id":55,"qty":5}],"gpCost":0,"scCost":0},{"itemID":71,"baseQuantity":1,"category":2,"baseXP":20,"level":10,"masteryID":17,"itemCosts":[{"id":56,"qty":1}],"gpCost":0,"scCost":0},{"itemID":72,"baseQuantity":1,"category":2,"baseXP":20,"level":12,"masteryID":18,"itemCosts":[{"id":56,"qty":1}],"gpCost":0,"scCost":0},{"itemID":73,"baseQuantity":1,"category":2,"baseXP":60,"level":17,"masteryID":19,"itemCosts":[{"id":56,"qty":3}],"gpCost":0,"scCost":0},{"itemID":74,"baseQuantity":1,"category":2,"baseXP":60,"level":23,"masteryID":20,"itemCosts":[{"id":56,"qty":3}],"gpCost":0,"scCost":0},{"itemID":75,"baseQuantity":1,"category":2,"baseXP":40,"level":16,"masteryID":21,"itemCosts":[{"id":56,"qty":2}],"gpCost":0,"scCost":0},{"itemID":76,"baseQuantity":1,"category":2,"baseXP":40,"level":19,"masteryID":22,"itemCosts":[{"id":56,"qty":2}],"gpCost":0,"scCost":0},{"itemID":77,"baseQuantity":1,"category":2,"baseXP":60,"level":25,"masteryID":23,"itemCosts":[{"id":56,"qty":3}],"gpCost":0,"scCost":0},{"itemID":78,"baseQuantity":1,"category":2,"baseXP":100,"level":27,"masteryID":24,"itemCosts":[{"id":56,"qty":5}],"gpCost":0,"scCost":0},{"itemID":79,"baseQuantity":1,"category":3,"baseXP":30,"level":25,"masteryID":25,"itemCosts":[{"id":57,"qty":1}],"gpCost":0,"scCost":0},{"itemID":80,"baseQuantity":1,"category":3,"baseXP":30,"level":27,"masteryID":26,"itemCosts":[{"id":57,"qty":1}],"gpCost":0,"scCost":0},{"itemID":81,"baseQuantity":1,"category":3,"baseXP":90,"level":32,"masteryID":27,"itemCosts":[{"id":57,"qty":3}],"gpCost":0,"scCost":0},{"itemID":82,"baseQuantity":1,"category":3,"baseXP":90,"level":38,"masteryID":28,"itemCosts":[{"id":57,"qty":3}],"gpCost":0,"scCost":0},{"itemID":83,"baseQuantity":1,"category":3,"baseXP":60,"level":31,"masteryID":29,"itemCosts":[{"id":57,"qty":2}],"gpCost":0,"scCost":0},{"itemID":84,"baseQuantity":1,"category":3,"baseXP":60,"level":34,"masteryID":30,"itemCosts":[{"id":57,"qty":2}],"gpCost":0,"scCost":0},{"itemID":85,"baseQuantity":1,"category":3,"baseXP":90,"level":40,"masteryID":31,"itemCosts":[{"id":57,"qty":3}],"gpCost":0,"scCost":0},{"itemID":86,"baseQuantity":1,"category":3,"baseXP":150,"level":42,"masteryID":32,"itemCosts":[{"id":57,"qty":5}],"gpCost":0,"scCost":0},{"itemID":87,"baseQuantity":1,"category":4,"baseXP":50,"level":40,"masteryID":33,"itemCosts":[{"id":59,"qty":1}],"gpCost":0,"scCost":0},{"itemID":88,"baseQuantity":1,"category":4,"baseXP":50,"level":42,"masteryID":34,"itemCosts":[{"id":59,"qty":1}],"gpCost":0,"scCost":0},{"itemID":89,"baseQuantity":1,"category":4,"baseXP":150,"level":47,"masteryID":35,"itemCosts":[{"id":59,"qty":3}],"gpCost":0,"scCost":0},{"itemID":90,"baseQuantity":1,"category":4,"baseXP":150,"level":53,"masteryID":36,"itemCosts":[{"id":59,"qty":3}],"gpCost":0,"scCost":0},{"itemID":91,"baseQuantity":1,"category":4,"baseXP":100,"level":46,"masteryID":37,"itemCosts":[{"id":59,"qty":2}],"gpCost":0,"scCost":0},{"itemID":92,"baseQuantity":1,"category":4,"baseXP":100,"level":49,"masteryID":38,"itemCosts":[{"id":59,"qty":2}],"gpCost":0,"scCost":0},{"itemID":93,"baseQuantity":1,"category":4,"baseXP":150,"level":55,"masteryID":39,"itemCosts":[{"id":59,"qty":3}],"gpCost":0,"scCost":0},{"itemID":94,"baseQuantity":1,"category":4,"baseXP":250,"level":57,"masteryID":40,"itemCosts":[{"id":59,"qty":5}],"gpCost":0,"scCost":0},{"itemID":95,"baseQuantity":1,"category":5,"baseXP":60,"level":55,"masteryID":41,"itemCosts":[{"id":60,"qty":1}],"gpCost":0,"scCost":0},{"itemID":96,"baseQuantity":1,"category":5,"baseXP":60,"level":57,"masteryID":42,"itemCosts":[{"id":60,"qty":1}],"gpCost":0,"scCost":0},{"itemID":97,"baseQuantity":1,"category":5,"baseXP":180,"level":62,"masteryID":43,"itemCosts":[{"id":60,"qty":3}],"gpCost":0,"scCost":0},{"itemID":98,"baseQuantity":1,"category":5,"baseXP":180,"level":68,"masteryID":44,"itemCosts":[{"id":60,"qty":3}],"gpCost":0,"scCost":0},{"itemID":99,"baseQuantity":1,"category":5,"baseXP":120,"level":61,"masteryID":45,"itemCosts":[{"id":60,"qty":2}],"gpCost":0,"scCost":0},{"itemID":100,"baseQuantity":1,"category":5,"baseXP":120,"level":64,"masteryID":46,"itemCosts":[{"id":60,"qty":2}],"gpCost":0,"scCost":0},{"itemID":101,"baseQuantity":1,"category":5,"baseXP":180,"level":70,"masteryID":47,"itemCosts":[{"id":60,"qty":3}],"gpCost":0,"scCost":0},{"itemID":102,"baseQuantity":1,"category":5,"baseXP":300,"level":72,"masteryID":48,"itemCosts":[{"id":60,"qty":5}],"gpCost":0,"scCost":0},{"itemID":103,"baseQuantity":1,"category":6,"baseXP":75,"level":70,"masteryID":49,"itemCosts":[{"id":61,"qty":1}],"gpCost":0,"scCost":0},{"itemID":104,"baseQuantity":1,"category":6,"baseXP":75,"level":72,"masteryID":50,"itemCosts":[{"id":61,"qty":1}],"gpCost":0,"scCost":0},{"itemID":105,"baseQuantity":1,"category":6,"baseXP":225,"level":77,"masteryID":51,"itemCosts":[{"id":61,"qty":3}],"gpCost":0,"scCost":0},{"itemID":106,"baseQuantity":1,"category":6,"baseXP":225,"level":83,"masteryID":52,"itemCosts":[{"id":61,"qty":3}],"gpCost":0,"scCost":0},{"itemID":107,"baseQuantity":1,"category":6,"baseXP":150,"level":76,"masteryID":53,"itemCosts":[{"id":61,"qty":2}],"gpCost":0,"scCost":0},{"itemID":108,"baseQuantity":1,"category":6,"baseXP":150,"level":79,"masteryID":54,"itemCosts":[{"id":61,"qty":2}],"gpCost":0,"scCost":0},{"itemID":109,"baseQuantity":1,"category":6,"baseXP":225,"level":85,"masteryID":55,"itemCosts":[{"id":61,"qty":3}],"gpCost":0,"scCost":0},{"itemID":110,"baseQuantity":1,"category":6,"baseXP":375,"level":87,"masteryID":56,"itemCosts":[{"id":61,"qty":5}],"gpCost":0,"scCost":0},{"itemID":111,"baseQuantity":1,"category":7,"baseXP":100,"level":85,"masteryID":57,"itemCosts":[{"id":62,"qty":1}],"gpCost":0,"scCost":0},{"itemID":112,"baseQuantity":1,"category":7,"baseXP":100,"level":87,"masteryID":58,"itemCosts":[{"id":62,"qty":1}],"gpCost":0,"scCost":0},{"itemID":113,"baseQuantity":1,"category":7,"baseXP":300,"level":92,"masteryID":59,"itemCosts":[{"id":62,"qty":3}],"gpCost":0,"scCost":0},{"itemID":114,"baseQuantity":1,"category":7,"baseXP":300,"level":98,"masteryID":60,"itemCosts":[{"id":62,"qty":3}],"gpCost":0,"scCost":0},{"itemID":115,"baseQuantity":1,"category":7,"baseXP":200,"level":91,"masteryID":61,"itemCosts":[{"id":62,"qty":2}],"gpCost":0,"scCost":0},{"itemID":116,"baseQuantity":1,"category":7,"baseXP":200,"level":94,"masteryID":62,"itemCosts":[{"id":62,"qty":2}],"gpCost":0,"scCost":0},{"itemID":117,"baseQuantity":1,"category":7,"baseXP":300,"level":99,"masteryID":63,"itemCosts":[{"id":62,"qty":3}],"gpCost":0,"scCost":0},{"itemID":118,"baseQuantity":1,"category":7,"baseXP":500,"level":99,"masteryID":64,"itemCosts":[{"id":62,"qty":5}],"gpCost":0,"scCost":0},{"itemID":121,"baseQuantity":1,"category":1,"baseXP":30,"level":12,"masteryID":65,"itemCosts":[{"id":55,"qty":3}],"gpCost":0,"scCost":0},{"itemID":122,"baseQuantity":1,"category":2,"baseXP":60,"level":21,"masteryID":66,"itemCosts":[{"id":56,"qty":3}],"gpCost":0,"scCost":0},{"itemID":123,"baseQuantity":1,"category":3,"baseXP":90,"level":36,"masteryID":67,"itemCosts":[{"id":57,"qty":3}],"gpCost":0,"scCost":0},{"itemID":124,"baseQuantity":1,"category":4,"baseXP":150,"level":51,"masteryID":68,"itemCosts":[{"id":59,"qty":3}],"gpCost":0,"scCost":0},{"itemID":125,"baseQuantity":1,"category":5,"baseXP":180,"level":66,"masteryID":69,"itemCosts":[{"id":60,"qty":3}],"gpCost":0,"scCost":0},{"itemID":126,"baseQuantity":1,"category":6,"baseXP":225,"level":81,"masteryID":70,"itemCosts":[{"id":61,"qty":3}],"gpCost":0,"scCost":0},{"itemID":127,"baseQuantity":1,"category":7,"baseXP":300,"level":96,"masteryID":71,"itemCosts":[{"id":62,"qty":3}],"gpCost":0,"scCost":0},{"itemID":269,"baseQuantity":15,"category":1,"baseXP":10,"level":1,"masteryID":72,"itemCosts":[{"id":55,"qty":1}],"gpCost":0,"scCost":0},{"itemID":270,"baseQuantity":15,"category":2,"baseXP":20,"level":13,"masteryID":73,"itemCosts":[{"id":56,"qty":1}],"gpCost":0,"scCost":0},{"itemID":271,"baseQuantity":15,"category":3,"baseXP":30,"level":28,"masteryID":74,"itemCosts":[{"id":57,"qty":1}],"gpCost":0,"scCost":0},{"itemID":272,"baseQuantity":15,"category":4,"baseXP":50,"level":43,"masteryID":75,"itemCosts":[{"id":59,"qty":1}],"gpCost":0,"scCost":0},{"itemID":273,"baseQuantity":15,"category":5,"baseXP":60,"level":58,"masteryID":76,"itemCosts":[{"id":60,"qty":1}],"gpCost":0,"scCost":0},{"itemID":274,"baseQuantity":15,"category":6,"baseXP":75,"level":73,"masteryID":77,"itemCosts":[{"id":61,"qty":1}],"gpCost":0,"scCost":0},{"itemID":275,"baseQuantity":15,"category":7,"baseXP":100,"level":88,"masteryID":78,"itemCosts":[{"id":62,"qty":1}],"gpCost":0,"scCost":0},{"itemID":431,"baseQuantity":1,"category":1,"baseXP":20,"level":6,"masteryID":79,"itemCosts":[{"id":55,"qty":2}],"gpCost":0,"scCost":0},{"itemID":432,"baseQuantity":1,"category":2,"baseXP":40,"level":15,"masteryID":80,"itemCosts":[{"id":56,"qty":2}],"gpCost":0,"scCost":0},{"itemID":433,"baseQuantity":1,"category":3,"baseXP":60,"level":30,"masteryID":81,"itemCosts":[{"id":57,"qty":2}],"gpCost":0,"scCost":0},{"itemID":435,"baseQuantity":1,"category":4,"baseXP":100,"level":45,"masteryID":82,"itemCosts":[{"id":59,"qty":2}],"gpCost":0,"scCost":0},{"itemID":436,"baseQuantity":1,"category":5,"baseXP":120,"level":60,"masteryID":83,"itemCosts":[{"id":60,"qty":2}],"gpCost":0,"scCost":0},{"itemID":437,"baseQuantity":1,"category":6,"baseXP":150,"level":75,"masteryID":84,"itemCosts":[{"id":61,"qty":2}],"gpCost":0,"scCost":0},{"itemID":438,"baseQuantity":1,"category":7,"baseXP":200,"level":90,"masteryID":85,"itemCosts":[{"id":62,"qty":2}],"gpCost":0,"scCost":0},{"itemID":462,"baseQuantity":1,"category":1,"baseXP":20,"level":5,"masteryID":86,"itemCosts":[{"id":55,"qty":2}],"gpCost":0,"scCost":0},{"itemID":463,"baseQuantity":1,"category":2,"baseXP":40,"level":14,"masteryID":87,"itemCosts":[{"id":56,"qty":2}],"gpCost":0,"scCost":0},{"itemID":464,"baseQuantity":1,"category":3,"baseXP":60,"level":29,"masteryID":88,"itemCosts":[{"id":57,"qty":2}],"gpCost":0,"scCost":0},{"itemID":465,"baseQuantity":1,"category":4,"baseXP":100,"level":44,"masteryID":89,"itemCosts":[{"id":59,"qty":2}],"gpCost":0,"scCost":0},{"itemID":466,"baseQuantity":1,"category":5,"baseXP":120,"level":59,"masteryID":90,"itemCosts":[{"id":60,"qty":2}],"gpCost":0,"scCost":0},{"itemID":467,"baseQuantity":1,"category":6,"baseXP":150,"level":74,"masteryID":91,"itemCosts":[{"id":61,"qty":2}],"gpCost":0,"scCost":0},{"itemID":468,"baseQuantity":1,"category":7,"baseXP":200,"level":89,"masteryID":92,"itemCosts":[{"id":62,"qty":2}],"gpCost":0,"scCost":0},{"itemID":724,"baseQuantity":1,"category":1,"baseXP":30,"level":15,"masteryID":93,"itemCosts":[{"id":55,"qty":3}],"gpCost":0,"scCost":0},{"itemID":725,"baseQuantity":1,"category":2,"baseXP":60,"level":24,"masteryID":94,"itemCosts":[{"id":56,"qty":3}],"gpCost":0,"scCost":0},{"itemID":726,"baseQuantity":1,"category":3,"baseXP":90,"level":39,"masteryID":95,"itemCosts":[{"id":57,"qty":3}],"gpCost":0,"scCost":0},{"itemID":727,"baseQuantity":1,"category":4,"baseXP":150,"level":54,"masteryID":96,"itemCosts":[{"id":59,"qty":3}],"gpCost":0,"scCost":0},{"itemID":728,"baseQuantity":1,"category":5,"baseXP":180,"level":69,"masteryID":97,"itemCosts":[{"id":60,"qty":3}],"gpCost":0,"scCost":0},{"itemID":729,"baseQuantity":1,"category":6,"baseXP":225,"level":84,"masteryID":98,"itemCosts":[{"id":61,"qty":3}],"gpCost":0,"scCost":0},{"itemID":730,"baseQuantity":1,"category":7,"baseXP":300,"level":98,"masteryID":99,"itemCosts":[{"id":62,"qty":3}],"gpCost":0,"scCost":0},{"itemID":731,"baseQuantity":5,"category":1,"baseXP":20,"level":9,"masteryID":100,"itemCosts":[{"id":55,"qty":2}],"gpCost":0,"scCost":0},{"itemID":732,"baseQuantity":5,"category":2,"baseXP":40,"level":18,"masteryID":101,"itemCosts":[{"id":56,"qty":2}],"gpCost":0,"scCost":0},{"itemID":733,"baseQuantity":5,"category":3,"baseXP":60,"level":33,"masteryID":102,"itemCosts":[{"id":57,"qty":2}],"gpCost":0,"scCost":0},{"itemID":734,"baseQuantity":5,"category":4,"baseXP":100,"level":48,"masteryID":103,"itemCosts":[{"id":59,"qty":2}],"gpCost":0,"scCost":0},{"itemID":735,"baseQuantity":5,"category":5,"baseXP":120,"level":63,"masteryID":104,"itemCosts":[{"id":60,"qty":2}],"gpCost":0,"scCost":0},{"itemID":736,"baseQuantity":5,"category":6,"baseXP":150,"level":78,"masteryID":105,"itemCosts":[{"id":61,"qty":2}],"gpCost":0,"scCost":0},{"itemID":737,"baseQuantity":5,"category":7,"baseXP":200,"level":93,"masteryID":106,"itemCosts":[{"id":62,"qty":2}],"gpCost":0,"scCost":0},{"itemID":705,"baseQuantity":4,"category":1,"baseXP":10,"level":2,"masteryID":107,"itemCosts":[{"id":55,"qty":1}],"gpCost":0,"scCost":0},{"itemID":706,"baseQuantity":4,"category":2,"baseXP":20,"level":11,"masteryID":108,"itemCosts":[{"id":56,"qty":1}],"gpCost":0,"scCost":0},{"itemID":707,"baseQuantity":4,"category":3,"baseXP":30,"level":26,"masteryID":109,"itemCosts":[{"id":57,"qty":1}],"gpCost":0,"scCost":0},{"itemID":708,"baseQuantity":4,"category":4,"baseXP":50,"level":41,"masteryID":110,"itemCosts":[{"id":59,"qty":1}],"gpCost":0,"scCost":0},{"itemID":709,"baseQuantity":4,"category":5,"baseXP":60,"level":56,"masteryID":111,"itemCosts":[{"id":60,"qty":1}],"gpCost":0,"scCost":0},{"itemID":710,"baseQuantity":4,"category":6,"baseXP":75,"level":71,"masteryID":112,"itemCosts":[{"id":61,"qty":1}],"gpCost":0,"scCost":0},{"itemID":711,"baseQuantity":4,"category":7,"baseXP":100,"level":86,"masteryID":113,"itemCosts":[{"id":62,"qty":1}],"gpCost":0,"scCost":0},{"itemID":723,"baseQuantity":5,"category":2,"baseXP":15,"level":10,"masteryID":114,"itemCosts":[{"id":56,"qty":1}],"gpCost":0,"scCost":0}]')

SkillData.Fishing = {}
SkillData.Fishing.Areas = mw.text.jsonDecode('[{"id":0,"name":"Shallow Shores","fishChance":75,"junkChance":25,"specialChance":0,"fish":[0,5,7]},{"id":1,"name":"Shrapnel River","fishChance":80,"junkChance":20,"specialChance":0,"fish":[1,2,21]},{"id":2,"name":"Trench of Despair","fishChance":70,"junkChance":28,"specialChance":2,"fish":[12,13,18,9]},{"id":3,"name":"Lemvor Pier","fishChance":70,"junkChance":29,"specialChance":1,"fish":[3,4,19]},{"id":4,"name":"Open Waters","fishChance":69,"junkChance":29,"specialChance":2,"fish":[6,10]},{"id":5,"name":"Barren Ocean","fishChance":90,"junkChance":10,"specialChance":0,"fish":[8,11]},{"id":6,"name":"Barbarian Fishing","description":"Also gives Strength XP","fishChance":95,"junkChance":5,"specialChance":0,"fish":[14,15,16]},{"id":7,"name":"Secret Area","fishChance":95,"junkChance":0,"specialChance":5,"fish":[20,22,17]}]')

SkillData.Firemaking = mw.text.jsonDecode('[{"level":1,"baseInterval":2000,"baseBonfireInterval":20000,"bonfireXPBonus":5,"baseXP":15,"logID":0,"masteryID":0},{"level":10,"baseInterval":2000,"baseBonfireInterval":30000,"bonfireXPBonus":10,"baseXP":30,"logID":1,"masteryID":1},{"level":25,"baseInterval":3000,"baseBonfireInterval":40000,"bonfireXPBonus":15,"baseXP":40,"logID":2,"masteryID":2},{"level":35,"baseInterval":4000,"baseBonfireInterval":50000,"bonfireXPBonus":20,"baseXP":65,"logID":3,"masteryID":3},{"level":45,"baseInterval":5000,"baseBonfireInterval":60000,"bonfireXPBonus":25,"baseXP":80,"logID":4,"masteryID":4},{"level":55,"baseInterval":6000,"baseBonfireInterval":70000,"bonfireXPBonus":30,"baseXP":100,"logID":5,"masteryID":5},{"level":60,"baseInterval":7000,"baseBonfireInterval":80000,"bonfireXPBonus":35,"baseXP":150,"logID":6,"masteryID":6},{"level":75,"baseInterval":10000,"baseBonfireInterval":90000,"bonfireXPBonus":40,"baseXP":225,"logID":7,"masteryID":7},{"level":90,"baseInterval":15000,"baseBonfireInterval":100000,"bonfireXPBonus":45,"baseXP":280,"logID":8,"masteryID":8}]')

SkillData.MasteryUnlocks = mw.text.jsonDecode('{"0":[{"level":10,"unlock":"Every 10 levels provides +5% chance to receive 2x Logs per action."},{"level":99,"unlock":"Decreased cut interval by 0.2s for this Tree."}],"1":[{"level":1,"unlock":"Each Mastery level increases the chance to receive 2 Fish by +0.4%"},{"level":50,"unlock":"+3% chance to receive special items."},{"level":65,"unlock":"You no longer catch Junk."},{"level":99,"unlock":"Always catch a minimum quantity of 2 Fish"}],"2":[{"level":1,"unlock":"Each Mastery Level grants -0.1% Firemaking Interval for the respective Log."},{"level":99,"unlock":"Grants +0.25% Global Mastery XP"}],"3":[{"level":1,"unlock":"Each Mastery level provides +0.6% success rate. Success rate is capped at 99%, except with Gloves or Cooking Skillcape."},{"level":10,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":20,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":30,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":40,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":50,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":60,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":70,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":80,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":90,"unlock":"+5% Perfect Cook Chance for this Item."},{"level":99,"unlock":"+50% Perfect Cook Chance for this Item. This cooked product heals you for an extra 20% when eaten."}],"4":[{"level":1,"unlock":"Each Mastery Level increases maximum Rock HP by 1"},{"level":10,"unlock":"1% Chance of obtaining 2 ore"},{"level":20,"unlock":"2% Chance of obtaining 2 ore"},{"level":30,"unlock":"3% Chance of obtaining 2 ore"},{"level":40,"unlock":"4% Chance of obtaining 2 ore"},{"level":50,"unlock":"5% Chance of obtaining 2 ore"},{"level":60,"unlock":"6% Chance of obtaining 2 ore"},{"level":70,"unlock":"7% Chance of obtaining 2 ore"},{"level":80,"unlock":"8% Chance of obtaining 2 ore"},{"level":90,"unlock":"9% Chance of obtaining 2 ore"},{"level":99,"unlock":"15% Chance of obtaining 2 ore"}],"5":[{"level":10,"unlock":"5% base chance to obtain 2 items"},{"level":20,"unlock":"5% base chance to preserve resources"},{"level":30,"unlock":"10% base chance to obtain 2 items"},{"level":40,"unlock":"10% base chance to preserve resources"},{"level":50,"unlock":"15% base chance to obtain 2 items"},{"level":60,"unlock":"15% base chance to preserve resources"},{"level":70,"unlock":"20% base chance to obtain 2 items"},{"level":80,"unlock":"20% base chance to preserve resources"},{"level":90,"unlock":"25% base chance to obtain 2 items"},{"level":99,"unlock":"30% base chance to preserve resources. +35% chance to obtain 2 items."}],"10":[{"level":1,"unlock":"Each level provides +1 Thieving Stealth and +1% GP acquired for this NPC only."},{"level":50,"unlock":"-0.2s Thieving Interval for this NPC only."},{"level":99,"unlock":"+75 Thieving Stealth for this NPC only."}],"11":[{"level":1,"unlock":"Each level provides increased Farming Yield."},{"level":16,"unlock":"Receive up to 1 Allotment or Herb seed back from harvesting."},{"level":31,"unlock":"Receive up to 2 Allotment or Herb seeds back from harvesting."},{"level":46,"unlock":"Receive up to 3 Allotment or Herb seeds back from harvesting."},{"level":50,"unlock":"No compost required to successfully grow."},{"level":61,"unlock":"Receive up to 4 Allotment or Herb seeds back from harvesting."},{"level":76,"unlock":"Receive up to 5 Allotment or Herb seeds back from harvesting."},{"level":91,"unlock":"Receive up to 6 Allotment or Herb seeds back from harvesting."},{"level":99,"unlock":"+20% Farming Yield. 10% reduced grow time for this Crop. Receive up to 8 Allotment or Herb seeds back from harvesting."}],"13":[{"level":1,"unlock":"Each level provides +0.2% chance to preserve resources."},{"level":99,"unlock":"+5% chance to preserve resources."}],"14":[{"level":1,"unlock":"Each level provides +0.2% chance to preserve resources."},{"level":99,"unlock":"+5% chance to preserve resources."}],"15":[{"level":15,"unlock":"2 Runes Produced per Runecraft."},{"level":30,"unlock":"3 Runes Produced per Runecraft."},{"level":45,"unlock":"4 Runes Produced per Runecraft."},{"level":60,"unlock":"5 Runes Produced per Runecraft."},{"level":75,"unlock":"6 Runes Produced per Runecraft."},{"level":90,"unlock":"7 Runes Produced per Runecraft."},{"level":99,"unlock":"11 Runes Produced per Runecraft."}],"19":[{"level":1,"unlock":"Each Mastery Level +0.2% chance to preserve resources for this Potion only."},{"level":1,"unlock":"Unlock Tier I Potion"},{"level":20,"unlock":"Unlock Tier II Potion"},{"level":50,"unlock":"Unlock Tier III Potion"},{"level":90,"unlock":"Unlock Tier IV Potion"},{"level":99,"unlock":"+5% chance to preserve resources for this Potion only."}],"20":[{"level":10,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":20,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":30,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":40,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":50,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":60,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":70,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":80,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":80,"unlock":"+10% Agility Obstacle cost reduction for this Obstacle only."},{"level":90,"unlock":"-3% Agility Interval for this Obstacle only."},{"level":95,"unlock":"+10% Agility Obstacle cost reduction for this Obstacle only."},{"level":99,"unlock":"Passive Debuffs (Red) are halved for this Obstacle only."}],"21":[{"level":10,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":20,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":30,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":40,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":50,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":50,"unlock":"+1 Shard Cost Reduction for this Summoning Tablet only."},{"level":60,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":70,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":80,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":90,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":99,"unlock":"+5% Cost Reduction, excluding Shards, for this Summoning Tablet only."},{"level":99,"unlock":"+1 Shard Cost Reduction for this Summoning Tablet only."},{"level":99,"unlock":"+10 Base Quantity for this Summoning Tablet only."}],"22":[{"level":20,"unlock":"Unlock another Star (Unique Modifier)"},{"level":40,"unlock":"Unlock another Star (Standard Modifier)"},{"level":60,"unlock":"Unlock another Star (Unique Modifier)"},{"level":80,"unlock":"Unlock another Star (Standard Modifier)"},{"level":99,"unlock":"Unlock another Star (Unique Modifier)"}]}')

SkillData.MasteryCheckpoints = mw.text.jsonDecode('{"0":{"bonuses":["+5% increased Woodcutting Mastery XP","+5% increased chance to receive double Logs per action","All Logs sell for +50% GP Value","When you receive a Birds Nest, always receive a base minimum of 2."]},"1":{"bonuses":["+5% increased Fishing Mastery XP","Receive no more Junk","+5% increased chance to get double Fish","When you catch a Special Item, there is a 25% chance to receive one extra Special Item. It is possible to receive a different item than the original."]},"2":{"bonuses":["+5% increased Firemaking Mastery XP","10% decreased Burning interval","Receive GP equal to 25% of the value of the Log you are burning","+5% increased Global Mastery XP"]},"3":{"bonuses":["+5% increased Cooking Mastery XP","+5% increased chance to get double cooked Food","+10% chance to preserve raw food in Cooking","All Food heals for +10% HP"]},"4":{"bonuses":["+5% increased Mining Mastery XP","Reduced Ore respawn time by 10%","Reduce Mining interval by 0.2s","All Rocks gain +10 Maximum HP (Bonus applied on Rock Respawn)"]},"5":{"bonuses":["+5% increased Smithing Mastery XP","+5% resource preservation chance for Smithing","+5% resource preservation chance for Smithing","+10% chance to double items in Smithing."]},"10":{"bonuses":["+30 Thieving Stealth, +3% increased Thieving XP","Decreases Thieving Interval by 0.2s, +3% increased Thieving Mastery XP","+100% increased gold from Thieving","+100 Thieving Stealth, chance to gain unique area items from Thieving is tripled"]},"11":{"bonuses":["+5% increased Farming Mastery XP","Crops cannot die (Bonus applied when crop grows).","+5% increased Crop harvest","Reduced crop grow time by 10% (Bonus applied when crop is planted)"]},"13":{"bonuses":["+5% increased Fletching Mastery XP","Produce 1 extra Javelin per Fletch (Applied to base quantity)","Produce 1 extra Gem-Tipped Bolt per Fletch (Applied to base quantity)","Reduce Fletching Interval by 0.2s"]},"14":{"bonuses":["+5% increased Crafting Mastery XP","+5% resource preservation chance for Crafting.","Decreased Crafting Interval by 0.2s","Always Craft a base quantity of 2 for Rings and Necklaces"]},"15":{"bonuses":["+5% increased Runecrafting Mastery XP","Grants 250% base Runecrafting XP from Runes","+10% resource preservation chance for Runecrafting","Grants an extra 5 Runes per craft"]},"19":{"bonuses":["+5% increased Herblore Mastery XP","+3% increased Herblore Skill XP","+5% resource preservation chance for Herblore","+10% chance to double Potions per action in Herblore"]},"20":{"bonuses":["+5% increased Agility Mastery XP","+10% GP from Agility","+10% Global Agility Obstacle cost reduction.","+15% Agility Obstacle Item cost reduction"]},"21":{"bonuses":["+5% increased Summoning Mastery XP","+1 Shard Cost Reduction for Tier 1 & Tier 2 Summoning Tablets","+10% resource preservation chance for Summoning","+1 Shard Cost Reduction for Tier 3 Summoning Tablets. +10 Base Quantity for Summoning Tablet Creation."]},"22":{"bonuses":["+5% increased Astrology Mastery XP","+1% chance to find Stardust","+0.2% chance to find Golden Stardust","-50% Cost to reroll specific Modifiers"]}}')

SkillData.MasteryPoolXP = mw.text.jsonDecode('[4500000,11500000,4500000,15500000,5500000,57500000,null,null,null,null,11500000,12000000,null,28500000,27500000,42000000,null,null,null,15000000,25500000,10000000,5500000]')

SkillData.Milestones = mw.text.jsonDecode('[10,24,10,32,12,116,11,1,12,1,24,25,73,58,56,85,87,32,14,31,12,21,12]')

SkillData.SkillUnlockCosts = mw.text.jsonDecode('[10000,25000,50000,200000,250000,400000,1000000,2500000,10000000,25000000,50000000,100000000,200000000,500000000,500000000,500000000,500000000,500000000,500000000]')

SkillData.Woodcutting = {}
SkillData.Woodcutting.Trees = mw.text.jsonDecode('[{"id":0,"name":"Normal Tree","type":"normal","levelRequired":1,"baseInterval":3000,"baseExperience":10,"media":"assets/media/skills/woodcutting/normal_tree.svg","logID":0},{"id":1,"name":"Oak Tree","type":"oak","levelRequired":10,"baseInterval":4000,"baseExperience":15,"media":"assets/media/skills/woodcutting/oak_tree.svg","logID":1},{"id":2,"name":"Willow Tree","type":"willow","levelRequired":25,"baseInterval":5000,"baseExperience":22,"media":"assets/media/skills/woodcutting/willow_tree.svg","logID":2},{"id":3,"name":"Teak Tree","type":"teak","levelRequired":35,"baseInterval":6000,"baseExperience":30,"media":"assets/media/skills/woodcutting/teak_tree.svg","logID":3},{"id":4,"name":"Maple Tree","type":"maple","levelRequired":45,"baseInterval":8000,"baseExperience":40,"media":"assets/media/skills/woodcutting/maple_tree.svg","logID":4},{"id":5,"name":"Mahogany Tree","type":"mahogany","levelRequired":55,"baseInterval":10000,"baseExperience":60,"media":"assets/media/skills/woodcutting/mahogany_tree.svg","logID":5},{"id":6,"name":"Yew Tree","type":"yew","levelRequired":60,"baseInterval":12000,"baseExperience":80,"media":"assets/media/skills/woodcutting/yew_tree.svg","logID":6},{"id":7,"name":"Magic Tree","type":"magic","levelRequired":75,"baseInterval":20000,"baseExperience":100,"media":"assets/media/skills/woodcutting/magic_tree.svg","logID":7},{"id":8,"name":"Redwood Tree","type":"redwood","levelRequired":90,"baseInterval":15000,"baseExperience":180,"media":"assets/media/skills/woodcutting/redwood_tree.svg","logID":8}]')

SkillData.Prayer = mw.text.jsonDecode('[{"id":0,"name":"Thick Skin","description":"+10% Melee Evasion<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":1,"media":"assets/media/skills/prayer/thick_skin.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeEvasion":10}},{"id":1,"name":"Burst of Strength","description":"+5% Melee Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":4,"media":"assets/media/skills/prayer/burst_of_strength.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeMaxHit":5}},{"id":2,"name":"Clarity of Thought","description":"+10% Melee Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":7,"media":"assets/media/skills/prayer/clarity_of_thought.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":10}},{"id":3,"name":"Sharp Eye","description":"+10% Ranged Accuracy Rating<br>+10% Ranged Evasion<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":10,"media":"assets/media/skills/prayer/sharp_eye.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":10,"increasedRangedEvasion":10}},{"id":4,"name":"Mystic Will","description":"+5% Magic Accuracy Rating<br>+5% Magic Evasion<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":12,"media":"assets/media/skills/prayer/mystic_will.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":5,"increasedMagicEvasion":5}},{"id":5,"name":"Rock Skin","description":"+20% Melee Evasion<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":16,"media":"assets/media/skills/prayer/rock_skin.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeEvasion":20}},{"id":6,"name":"Superhuman Strength","description":"+10% Melee Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":18,"media":"assets/media/skills/prayer/superhuman_strength.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeMaxHit":10}},{"id":7,"name":"Improved Reflexes","description":"+20% Melee Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":20,"media":"assets/media/skills/prayer/improved_reflexes.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":20}},{"id":8,"name":"Rapid Heal","description":"+10 Flat Hitpoints Regen<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":24,"media":"assets/media/skills/prayer/rapid_heal.svg","pointsPerPlayer":0,"pointsPerEnemy":0,"pointsPerRegen":4,"modifiers":{"increasedHPRegenFlat":1}},{"id":9,"name":"Protect Item","description":"Items are not lost on death<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":26,"media":"assets/media/skills/prayer/protect_item.svg","pointsPerPlayer":0,"pointsPerEnemy":2,"pointsPerRegen":0,"modifiers":{"itemProtection":1}},{"id":10,"name":"Hawk Eye","description":"+15% Ranged Accuracy Rating<br>+15% Ranged Evasion<br>+5% Ranged Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":30,"media":"assets/media/skills/prayer/hawk_eye.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":15,"increasedRangedEvasion":15,"increasedRangedMaxHit":5}},{"id":11,"name":"Mystic Lore","description":"+10% Magic Accuracy Rating<br>+10% Magic Evasion<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":33,"media":"assets/media/skills/prayer/mystic_lore.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":10,"increasedMagicEvasion":10}},{"id":12,"name":"Steel Skin","description":"+25% Melee Evasion<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":37,"media":"assets/media/skills/prayer/steel_skin.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeEvasion":25}},{"id":13,"name":"Ultimate Strength","description":"+15% Melee Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":40,"media":"assets/media/skills/prayer/ultimate_strength.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeMaxHit":15}},{"id":14,"name":"Incredible Reflexes","description":"+25% Melee Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":43,"media":"assets/media/skills/prayer/incredible_reflexes.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":25}},{"id":15,"name":"Protect from Magic","description":"80% chance to dodge Magic attacks<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":46,"media":"assets/media/skills/prayer/protect_from_magic.svg","pointsPerPlayer":0,"pointsPerEnemy":10,"pointsPerRegen":0,"modifiers":{"magicProtection":80}},{"id":16,"name":"Protect from Ranged","description":"80% chance to dodge Ranged attacks<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":48,"media":"assets/media/skills/prayer/protect_from_ranged.svg","pointsPerPlayer":0,"pointsPerEnemy":10,"pointsPerRegen":0,"modifiers":{"rangedProtection":80}},{"id":17,"name":"Protect from Melee","description":"80% chance to dodge Melee attacks<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":50,"media":"assets/media/skills/prayer/protect_from_melee.svg","pointsPerPlayer":0,"pointsPerEnemy":10,"pointsPerRegen":0,"modifiers":{"meleeProtection":80}},{"id":18,"name":"Eagle Eye","description":"+20% Ranged Accuracy Rating<br>+20% Ranged Evasion<br>+10% Ranged Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":53,"media":"assets/media/skills/prayer/eagle_eye.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":20,"increasedRangedEvasion":20,"increasedRangedMaxHit":10}},{"id":19,"name":"Mystic Might","description":"+15% Magic Accuracy Rating<br>+15% Magic Evasion<br>+5% Magic Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":56,"media":"assets/media/skills/prayer/mystic_might.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":15,"increasedMagicEvasion":15,"increasedMagicMaxHit":5}},{"id":20,"name":"Redemption","description":"+20% Auto Eat Hitpoints Limit<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":60,"media":"assets/media/skills/prayer/redemption.svg","pointsPerPlayer":0,"pointsPerEnemy":6,"pointsPerRegen":0,"modifiers":{"increasedAutoEatHPLimit":20}},{"id":21,"name":"Chivalry","description":"+30% Melee Accuracy Rating<br>+30% Melee Evasion<br>+15% Melee Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":66,"media":"assets/media/skills/prayer/chivalry.svg","pointsPerPlayer":5,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":30,"increasedMeleeEvasion":30,"increasedMeleeMaxHit":15}},{"id":22,"name":"Piety","description":"+15% Melee Accuracy Rating<br>+25% Melee Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":83,"media":"assets/media/skills/prayer/piety.svg","pointsPerPlayer":7,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":15,"increasedMeleeMaxHit":25}},{"id":23,"name":"Rigour","description":"+15% Ranged Accuracy Rating<br>+20% Ranged Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":87,"media":"assets/media/skills/prayer/rigour.svg","pointsPerPlayer":7,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":15,"increasedRangedMaxHit":20}},{"id":24,"name":"Augury","description":"+15% Magic Accuracy Rating<br>+15% Magic Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":91,"media":"assets/media/skills/prayer/augury.svg","pointsPerPlayer":7,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":15,"increasedMagicMaxHit":15}},{"id":25,"name":"Stone Skin","description":"+3% Damage Reduction<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":80,"media":"assets/media/skills/prayer/stone_skin.svg","pointsPerPlayer":0,"pointsPerEnemy":3,"pointsPerRegen":0,"modifiers":{"increasedDamageReduction":3}},{"id":26,"name":"Safeguard","description":"+1% Damage Reduction<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":28,"media":"assets/media/skills/prayer/safeguard.svg","pointsPerPlayer":0,"pointsPerEnemy":1,"pointsPerRegen":0,"modifiers":{"increasedDamageReduction":1}},{"id":27,"name":"Rejuvenation","description":"+20 Flat Hitpoints Regen<br><span class=\'text-danger\'>Provides no extra Prayer XP","prayerLevel":62,"media":"assets/media/skills/prayer/rejuvenation.svg","pointsPerPlayer":0,"pointsPerEnemy":0,"pointsPerRegen":5,"modifiers":{"increasedHPRegenFlat":2}},{"id":28,"name":"Sharp Vision","description":"+25% Ranged Accuracy Rating<br>+25% Ranged Evasion<br>+15% Ranged Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":71,"media":"assets/media/skills/prayer/sharp_vision.svg","pointsPerPlayer":5,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":25,"increasedRangedEvasion":25,"increasedRangedMaxHit":15}},{"id":29,"name":"Mystic Mastery","description":"+20% Magic Accuracy Rating<br>+20% Magic Evasion<br>+10% Magic Maximum Hit<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":76,"media":"assets/media/skills/prayer/mystic_mastery.svg","pointsPerPlayer":5,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":20,"increasedMagicEvasion":20,"increasedMagicMaxHit":10}},{"id":30,"name":"Battleheart","description":"+35% Global Evasion<br>+15% of Maximum Hit added to Minimum Hit<br>Enemies have -5% Damage Reduction<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy","prayerLevel":95,"media":"assets/media/skills/prayer/battleheart.svg","pointsPerPlayer":8,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedGlobalEvasion":35,"increasedMinHitBasedOnMaxHit":15},"enemyModifiers":{"decreasedDamageReduction":5}}]')

SkillData.Agility = {}
SkillData.Agility.Obstacles = mw.text.jsonDecode('[{"id":0,"name":"Cargo Net","media":"assets/media/skills/agility/1CN.svg","category":0,"interval":4000,"requirements":{"skillLevel":[]},"cost":{"gp":10000,"slayerCoins":0,"items":[]},"modifiers":{},"completionBonuses":{"stamina":0,"xp":8,"gp":6,"slayerCoins":0,"items":[]}},{"id":1,"name":"Rope Swing","media":"assets/media/skills/agility/1RS.svg","category":0,"interval":4000,"requirements":{"skillLevel":[]},"cost":{"gp":10000,"slayerCoins":0,"items":[]},"modifiers":{},"completionBonuses":{"stamina":0,"xp":6,"gp":8,"slayerCoins":0,"items":[]}},{"id":2,"name":"Rope Climb","media":"assets/media/skills/agility/1RC.svg","category":0,"interval":6000,"requirements":{"skillLevel":[]},"cost":{"gp":10000,"slayerCoins":0,"items":[]},"modifiers":{"increasedMasteryXP":[[10,2]]},"completionBonuses":{"stamina":0,"xp":7,"gp":4,"slayerCoins":0,"items":[]}},{"id":3,"name":"Rope Jump","media":"assets/media/skills/agility/2RJ.svg","category":1,"interval":7000,"requirements":{"skillLevel":[]},"cost":{"gp":50000,"slayerCoins":0,"items":[]},"modifiers":{},"completionBonuses":{"stamina":0,"xp":13,"gp":40,"slayerCoins":0,"items":[]}},{"id":4,"name":"Monkey Bars","media":"assets/media/skills/agility/2MB.svg","category":1,"interval":3000,"requirements":{"skillLevel":[[2,15]]},"cost":{"gp":50000,"slayerCoins":0,"items":[[1,250]]},"modifiers":{"decreasedSkillIntervalPercent":[[2,4]]},"completionBonuses":{"stamina":0,"xp":7,"gp":27,"slayerCoins":0,"items":[]}},{"id":5,"name":"Balance Beam","media":"assets/media/skills/agility/2BB.svg","category":1,"interval":4000,"requirements":{"skillLevel":[]},"cost":{"gp":50000,"slayerCoins":0,"items":[]},"modifiers":{"increasedSkillXP":[[20,2]]},"completionBonuses":{"stamina":0,"xp":11,"gp":34,"slayerCoins":0,"items":[]}},{"id":6,"name":"Balance Seesaw","media":"assets/media/skills/agility/3BS.svg","category":2,"interval":5000,"requirements":{"skillLevel":[]},"cost":{"gp":150000,"slayerCoins":0,"items":[]},"modifiers":{"increasedSkillXP":[[20,2]],"increasedMasteryXP":[[20,2]]},"completionBonuses":{"stamina":0,"xp":24,"gp":92,"slayerCoins":0,"items":[]}},{"id":7,"name":"Pipe Climb","media":"assets/media/skills/agility/3PC.svg","category":2,"interval":9000,"requirements":{"skillLevel":[[7,10],[8,10]]},"cost":{"gp":150000,"slayerCoins":1000,"items":[[56,300]]},"modifiers":{"increasedMeleeMaxHit":3,"increasedMeleeEvasion":3},"completionBonuses":{"stamina":0,"xp":29,"gp":67,"slayerCoins":0,"items":[]}},{"id":8,"name":"Pipe Balance","media":"assets/media/skills/agility/3PB.svg","category":2,"interval":5000,"requirements":{"skillLevel":[[4,20]]},"cost":{"gp":150000,"slayerCoins":0,"items":[[47,300],[46,300]]},"modifiers":{"increasedMiningNodeHP":10,"increasedGlobalPreservationChance":3},"completionBonuses":{"stamina":0,"xp":24,"gp":96,"slayerCoins":0,"items":[]}},{"id":9,"name":"Pit Jump","media":"assets/media/skills/agility/3PJ.svg","category":2,"interval":4000,"requirements":{"skillLevel":[]},"cost":{"gp":150000,"slayerCoins":0,"items":[[11,300],[13,300]]},"modifiers":{"increasedGlobalSkillXP":1,"decreasedSkillXP":[[20,4]]},"completionBonuses":{"stamina":0,"xp":37,"gp":24,"slayerCoins":0,"items":[]}},{"id":10,"name":"Stepping Stones","media":"assets/media/skills/agility/3SS.svg","category":2,"interval":9000,"requirements":{"skillLevel":[[0,30],[2,30]]},"cost":{"gp":150000,"slayerCoins":0,"items":[[2,300],[3,300]]},"modifiers":{"increasedSkillXP":[[2,3]],"decreasedSkillIntervalPercent":[[0,6]]},"completionBonuses":{"stamina":0,"xp":13,"gp":63,"slayerCoins":0,"items":[]}},{"id":11,"name":"Coal Stones","media":"assets/media/skills/agility/4CS.svg","category":3,"interval":6000,"requirements":{"skillLevel":[[10,20],[3,20]]},"cost":{"gp":250000,"slayerCoins":0,"items":[[146,100],[25,500]]},"modifiers":{"increasedGlobalPreservationChance":3,"increasedGPFromThieving":20,"increasedFoodHealingValue":10,"decreasedGlobalSkillXP":4},"completionBonuses":{"stamina":0,"xp":22,"gp":40,"slayerCoins":0,"items":[]}},{"id":12,"name":"Mud Crawl","media":"assets/media/skills/agility/4MC.svg","category":3,"interval":8000,"requirements":{"skillLevel":[[19,25],[11,25]]},"cost":{"gp":250000,"slayerCoins":0,"items":[[519,250],[520,250],[521,250]]},"modifiers":{"increasedSkillPreservationChance":[[19,3]],"increasedSkillXP":[[19,2]],"increasedMasteryXP":[[19,2]],"decreasedFarmingYield":10},"completionBonuses":{"stamina":0,"xp":34,"gp":140,"slayerCoins":0,"items":[]}},{"id":13,"name":"Mud Dive","media":"assets/media/skills/agility/4MD.svg","category":3,"interval":8000,"requirements":{"skillLevel":[[6,20],[7,20]]},"cost":{"gp":250000,"slayerCoins":5000,"items":[[59,500]]},"modifiers":{"increasedMeleeMaxHit":2,"increasedMeleeAccuracyBonus":5,"increasedFlatMaxHitpoints":2,"decreasedDamageReduction":4},"completionBonuses":{"stamina":0,"xp":43,"gp":66,"slayerCoins":0,"items":[]}},{"id":14,"name":"Cave Climb","media":"assets/media/skills/agility/4CC.svg","category":3,"interval":7000,"requirements":{"skillLevel":[[7,10],[12,10],[16,10]]},"cost":{"gp":250000,"slayerCoins":5000,"items":[[389,500],[392,500],[56,250]]},"modifiers":{"increasedAmmoPreservation":5,"increasedRunePreservation":5,"increasedMeleeMaxHit":5,"decreasedFlatMaxHitpoints":4},"completionBonuses":{"stamina":0,"xp":36,"gp":96,"slayerCoins":0,"items":[]}},{"id":15,"name":"Gap Jump","media":"assets/media/skills/agility/4GJ.svg","category":3,"interval":6000,"requirements":{"skillLevel":[]},"cost":{"gp":250000,"slayerCoins":0,"items":[]},"modifiers":{},"completionBonuses":{"stamina":0,"xp":48,"gp":45,"slayerCoins":0,"items":[]}},{"id":16,"name":"Rock Climb","media":"assets/media/skills/agility/5RC.svg","category":4,"interval":4000,"requirements":{"skillLevel":[[0,30],[1,30],[4,30],[10,30]]},"cost":{"gp":500000,"slayerCoins":0,"items":[[3,500],[48,500],[144,500]]},"modifiers":{"increasedChanceToDoubleItemsSkill":[[1,5],[0,5],[4,5],[10,5]],"decreasedGlobalPreservationChance":10},"completionBonuses":{"stamina":0,"xp":35,"gp":172,"slayerCoins":0,"items":[]}},{"id":17,"name":"Cliff Climb","media":"assets/media/skills/agility/5CC.svg","category":4,"interval":13000,"requirements":{"skillLevel":[[18,20]]},"cost":{"gp":500000,"slayerCoins":20000,"items":[[59,1000]]},"modifiers":{"increasedSlayerCoins":10,"increasedDamageToSlayerTasks":5,"increasedSlayerTaskLength":10,"decreasedSkillXP":[[18,10]],"decreasedSlayerAreaEffectNegationFlat":20},"completionBonuses":{"stamina":0,"xp":64,"gp":82,"slayerCoins":0,"items":[]}},{"id":18,"name":"Cliff Balance","media":"assets/media/skills/agility/5CB.svg","category":4,"interval":4000,"requirements":{"skillLevel":[[6,20],[12,20],[16,20]]},"cost":{"gp":500000,"slayerCoins":20000,"items":[[51,500],[48,500],[388,1000]]},"modifiers":{"increasedMeleeAccuracyBonus":5,"increasedRangedAccuracyBonus":5,"increasedMagicAccuracyBonus":5,"increasedFlatMaxHitpoints":2,"decreasedFlatPrayerCostReduction":2},"completionBonuses":{"stamina":0,"xp":41,"gp":117,"slayerCoins":0,"items":[]}},{"id":19,"name":"Mountain Climb","media":"assets/media/skills/agility/5MC.svg","category":4,"interval":10000,"requirements":{"skillLevel":[]},"cost":{"gp":500000,"slayerCoins":0,"items":[[439,1000]]},"modifiers":{"increasedGPFromAgility":15,"decreasedSkillIntervalPercent":[[20,12]],"decreasedSkillXP":[[20,8]],"decreasedMasteryXP":[[20,2]]},"completionBonuses":{"stamina":0,"xp":60,"gp":296,"slayerCoins":0,"items":[]}},{"id":20,"name":"Tree Climb","media":"assets/media/skills/agility/5TC.svg","category":4,"interval":5000,"requirements":{"skillLevel":[[2,60]]},"cost":{"gp":500000,"slayerCoins":0,"items":[[5,1000],[263,2000],[395,2000]]},"modifiers":{"increasedGlobalSkillXP":3,"increasedGlobalMasteryXP":2,"decreasedGlobalPreservationChance":10,"decreasedAmmoPreservation":10,"decreasedRunePreservation":10},"completionBonuses":{"stamina":0,"xp":44,"gp":91,"slayerCoins":0,"items":[]}},{"id":21,"name":"Tree Hop","media":"assets/media/skills/agility/6TH.svg","category":5,"interval":11000,"requirements":{"skillLevel":[[0,40],[12,40],[16,40]]},"cost":{"gp":1000000,"slayerCoins":0,"items":[[264,2500],[821,2500]]},"modifiers":{"increasedGlobalPreservationChance":5,"increasedAmmoPreservation":5,"increasedRunePreservation":5},"completionBonuses":{"stamina":0,"xp":68,"gp":565,"slayerCoins":0,"items":[]}},{"id":22,"name":"Tree Balance","media":"assets/media/skills/agility/6TB.svg","category":5,"interval":13000,"requirements":{"skillLevel":[]},"cost":{"gp":1000000,"slayerCoins":0,"items":[]},"modifiers":{"decreasedSkillIntervalPercent":[[20,12]],"decreasedGlobalSkillXP":4},"completionBonuses":{"stamina":0,"xp":59,"gp":505,"slayerCoins":0,"items":[]}},{"id":23,"name":"Rocky Waters","media":"assets/media/skills/agility/6RW.svg","category":5,"interval":11000,"requirements":{"skillLevel":[[9,50]]},"cost":{"gp":1000000,"slayerCoins":50000,"items":[[26,3000]]},"modifiers":{"increasedFlatMaxHitpoints":5},"completionBonuses":{"stamina":0,"xp":61,"gp":578,"slayerCoins":0,"items":[]}},{"id":24,"name":"Lake Swim","media":"assets/media/skills/agility/6LS.svg","category":5,"interval":14000,"requirements":{"skillLevel":[[7,50],[17,50]]},"cost":{"gp":1000000,"slayerCoins":50000,"items":[[133,2500]]},"modifiers":{"increasedDamageToAllMonsters":3,"increasedDamageReduction":1},"completionBonuses":{"stamina":0,"xp":55,"gp":521,"slayerCoins":0,"items":[]}},{"id":25,"name":"Raft Drifting","media":"assets/media/skills/agility/6RD.svg","category":5,"interval":7000,"requirements":{"skillLevel":[[11,60]]},"cost":{"gp":1000000,"slayerCoins":0,"items":[[157,3000]]},"modifiers":{"increasedFarmingYield":10},"completionBonuses":{"stamina":0,"xp":80,"gp":247,"slayerCoins":0,"items":[]}},{"id":26,"name":"Spike Trap","media":"assets/media/skills/agility/7ST.svg","category":6,"interval":9000,"requirements":{"skillLevel":[]},"cost":{"gp":2500000,"slayerCoins":0,"items":[]},"modifiers":{"decreasedFlatMaxHitpoints":4,"decreasedDamageReduction":2},"completionBonuses":{"stamina":0,"xp":87,"gp":640,"slayerCoins":0,"items":[]}},{"id":27,"name":"Heat Trap","media":"assets/media/skills/agility/7HT.svg","category":6,"interval":5000,"requirements":{"skillLevel":[]},"cost":{"gp":2500000,"slayerCoins":0,"items":[]},"modifiers":{"decreasedDamageToAllMonsters":10,"decreasedAutoEatEfficiency":10},"completionBonuses":{"stamina":0,"xp":134,"gp":849,"slayerCoins":0,"items":[]}},{"id":28,"name":"Boulder Trap","media":"assets/media/skills/agility/7BT.svg","category":6,"interval":13000,"requirements":{"skillLevel":[]},"cost":{"gp":2500000,"slayerCoins":0,"items":[]},"modifiers":{"decreasedGlobalPreservationChance":20},"completionBonuses":{"stamina":0,"xp":93,"gp":777,"slayerCoins":0,"items":[]}},{"id":29,"name":"Water Trap","media":"assets/media/skills/agility/7WT.svg","category":6,"interval":8000,"requirements":{"skillLevel":[]},"cost":{"gp":2500000,"slayerCoins":0,"items":[]},"modifiers":{"decreasedGlobalSkillXP":6,"decreasedGlobalMasteryXP":6},"completionBonuses":{"stamina":0,"xp":53,"gp":1035,"slayerCoins":0,"items":[]}},{"id":30,"name":"Freezing Trap","media":"assets/media/skills/agility/7FT.svg","category":6,"interval":8000,"requirements":{"skillLevel":[]},"cost":{"gp":2500000,"slayerCoins":0,"items":[]},"modifiers":{"decreasedRunePreservation":30,"decreasedAmmoPreservation":30,"decreasedMeleeAccuracyBonus":16,"decreasedRangedAccuracyBonus":16,"decreasedMagicAccuracyBonus":16},"completionBonuses":{"stamina":0,"xp":78,"gp":598,"slayerCoins":0,"items":[]}},{"id":31,"name":"Pipe Crawl","media":"assets/media/skills/agility/8PC.svg","category":7,"interval":11000,"requirements":{"skillLevel":[[18,70]]},"cost":{"gp":5000000,"slayerCoins":150000,"items":[[60,4000]]},"modifiers":{"increasedDamageToSlayerAreaMonsters":8,"decreasedSlayerCoins":10},"completionBonuses":{"stamina":0,"xp":180,"gp":1603,"slayerCoins":0,"items":[]}},{"id":32,"name":"Raft Building","media":"assets/media/skills/agility/8RB.svg","category":7,"interval":14000,"requirements":{"skillLevel":[[7,70],[9,70]]},"cost":{"gp":5000000,"slayerCoins":150000,"items":[[27,2000]]},"modifiers":{"increasedDamageToAllMonsters":2,"increasedFlatMaxHitpoints":2},"completionBonuses":{"stamina":0,"xp":144,"gp":2619,"slayerCoins":0,"items":[]}},{"id":33,"name":"Spike Jump","media":"assets/media/skills/agility/8SJ.svg","category":7,"interval":8000,"requirements":{"skillLevel":[[8,70],[17,70]]},"cost":{"gp":5000000,"slayerCoins":150000,"items":[[131,2000]]},"modifiers":{"increasedDamageToDungeonMonsters":5,"increasedChanceToDoubleLootCombat":5},"completionBonuses":{"stamina":0,"xp":145,"gp":2301,"slayerCoins":0,"items":[]}},{"id":34,"name":"Tree Hang","media":"assets/media/skills/agility/8TH.svg","category":7,"interval":8000,"requirements":{"skillLevel":[[0,80],[2,80]]},"cost":{"gp":5000000,"slayerCoins":0,"items":[[526,5000]]},"modifiers":{"increasedGlobalMasteryXP":5,"decreasedGlobalSkillXP":6},"completionBonuses":{"stamina":0,"xp":205,"gp":2360,"slayerCoins":0,"items":[]}},{"id":35,"name":"A Lovely Jog","media":"assets/media/skills/agility/8ALJ.svg","category":7,"interval":12000,"requirements":{"skillLevel":[[2,70],[1,70],[4,70]]},"cost":{"gp":5000000,"slayerCoins":0,"items":[[7,5000]]},"modifiers":{"increasedGlobalSkillXP":5,"decreasedGlobalMasteryXP":6},"completionBonuses":{"stamina":0,"xp":106,"gp":1228,"slayerCoins":0,"items":[]}},{"id":36,"name":"Lava Jump","media":"assets/media/skills/agility/9LJ.svg","category":8,"interval":5000,"requirements":{"skillLevel":[[17,80]]},"cost":{"gp":10000000,"slayerCoins":250000,"items":[[29,2500],[133,5000],[8,5000]]},"modifiers":{"decreasedMonsterRespawnTimer":300,"decreasedDamageReduction":6,"decreasedGlobalMasteryXP":6,"decreasedAutoEatEfficiency":6},"completionBonuses":{"stamina":0,"xp":160,"gp":3488,"slayerCoins":0,"items":[]}},{"id":37,"name":"Water Jump","media":"assets/media/skills/agility/9WJ.svg","category":8,"interval":5000,"requirements":{"skillLevel":[[7,70],[16,70],[12,70]]},"cost":{"gp":10000000,"slayerCoins":250000,"items":[[267,5000],[396,5000],[58,5000]]},"modifiers":{"increasedGlobalMasteryXP":2,"increasedMeleeMaxHit":3,"increasedRangedMaxHit":3,"increasedMagicMaxHit":3},"completionBonuses":{"stamina":0,"xp":162,"gp":888,"slayerCoins":0,"items":[]}},{"id":38,"name":"Ice Jump","media":"assets/media/skills/agility/9IJ.svg","category":8,"interval":6000,"requirements":{"skillLevel":[[3,60],[4,60],[18,60],[10,60]]},"cost":{"gp":10000000,"slayerCoins":0,"items":[[28,2500],[48,5000],[132,2000]]},"modifiers":{"increasedGlobalPreservationChance":10,"increasedFoodHealingValue":10,"increasedChanceToDoubleItemsGlobal":5,"increasedFlatMaxHitpoints":2,"increasedMiningNodeHP":10,"increasedSlayerCoins":10,"increasedSkillXP":[[18,5]]},"completionBonuses":{"stamina":0,"xp":315,"gp":3898,"slayerCoins":0,"items":[]}},{"id":39,"name":"Cave Maze","media":"assets/media/skills/agility/9CM.svg","category":8,"interval":8000,"requirements":{"skillLevel":[[17,70],[12,70],[16,70]]},"cost":{"gp":10000000,"slayerCoins":0,"items":[[440,5000]]},"modifiers":{"increasedChanceToPreservePrayerPoints":10,"increasedAmmoPreservation":10,"increasedRunePreservation":10,"increasedFlatPrayerCostReduction":1},"completionBonuses":{"stamina":0,"xp":296,"gp":604,"slayerCoins":0,"items":[]}},{"id":40,"name":"Frozen Lake Crossing","media":"assets/media/skills/agility/9FLC.svg","category":8,"interval":15000,"requirements":{"skillLevel":[[7,70],[9,70]]},"cost":{"gp":10000000,"slayerCoins":250000,"items":[[60,7500]]},"modifiers":{"increasedDamageToAllMonsters":3,"increasedAutoEatEfficiency":10},"completionBonuses":{"stamina":0,"xp":138,"gp":1086,"slayerCoins":0,"items":[]}},{"id":41,"name":"Waterfall","media":"assets/media/skills/agility/10W.svg","category":9,"interval":23000,"requirements":{"skillLevel":[]},"cost":{"gp":20000000,"slayerCoins":0,"items":[]},"modifiers":{},"completionBonuses":{"stamina":0,"xp":567,"gp":7626,"slayerCoins":0,"items":[]}},{"id":42,"name":"Lava Waterfall Dodge","media":"assets/media/skills/agility/10LWD.svg","category":9,"interval":15000,"requirements":{"skillLevel":[[2,95],[12,95],[16,95],[18,90],[17,80]]},"cost":{"gp":20000000,"slayerCoins":0,"items":[[441,10000],[268,10000],[398,10000]]},"modifiers":{"increasedGlobalPreservationChance":10,"increasedAmmoPreservation":5,"increasedRunePreservation":10,"increasedChanceToPreservePrayerPoints":10,"increasedSlayerCoins":10},"completionBonuses":{"stamina":0,"xp":361,"gp":2915,"slayerCoins":0,"items":[]}},{"id":43,"name":"Boulder Move","media":"assets/media/skills/agility/10BM.svg","category":9,"interval":14000,"requirements":{"skillLevel":[[2,99],[0,99]]},"cost":{"gp":20000000,"slayerCoins":0,"items":[[62,10000],[8,10000]]},"modifiers":{"increasedGlobalMasteryXP":8},"completionBonuses":{"stamina":0,"xp":560,"gp":3257,"slayerCoins":0,"items":[]}},{"id":44,"name":"Dragon Fight","media":"assets/media/skills/agility/10DF.svg","category":9,"interval":20000,"requirements":{"skillLevel":[[6,95],[7,95],[8,95],[17,95]]},"cost":{"gp":20000000,"slayerCoins":300000,"items":[[32,3000]]},"modifiers":{"decreasedMonsterRespawnTimer":300,"decreasedAutoEatEfficiency":16},"completionBonuses":{"stamina":0,"xp":539,"gp":7175,"slayerCoins":0,"items":[]}},{"id":45,"name":"Ocean Rafting","media":"assets/media/skills/agility/10OR.svg","category":9,"interval":23000,"requirements":{"skillLevel":[[9,99]]},"cost":{"gp":20000000,"slayerCoins":300000,"items":[[470,30000]]},"modifiers":{"increasedDamageToAllMonsters":5,"increasedAutoEatEfficiency":5},"completionBonuses":{"stamina":0,"xp":343,"gp":3380,"slayerCoins":0,"items":[]}},{"id":46,"name":"Forest Trail","media":"assets/media/skills/agility/6FT.svg","category":5,"interval":10000,"requirements":{"skillLevel":[[21,45]]},"cost":{"gp":1000000,"slayerCoins":0,"items":[[4,1500]]},"modifiers":{"increasedMasteryXP":[[21,3]],"decreasedSkillIntervalPercent":[[21,3]],"decreasedFarmingYield":6},"completionBonuses":{"stamina":0,"xp":88,"gp":252,"slayerCoins":0,"items":[]}},{"id":47,"name":"Runic Trail","media":"assets/media/skills/agility/8RT.svg","category":7,"interval":12000,"requirements":{"skillLevel":[[9,70],[19,70],[21,75]]},"cost":{"gp":5000000,"slayerCoins":100000,"items":[[975,500],[976,500]]},"modifiers":{"increasedSkillPreservationChance":[[21,5]],"increasedSummoningChargePreservation":15,"increasedSummoningCreationCharges":3,"decreasedSkillPreservationChance":[[19,16]]},"completionBonuses":{"stamina":0,"xp":160,"gp":2399,"slayerCoins":0,"items":[]}},{"id":48,"name":"Burning Coals","media":"assets/media/skills/agility/3BC.png","category":2,"interval":6000,"requirements":{"skillLevel":[[2,25]]},"cost":{"gp":150000,"slayerCoins":0,"items":[[48,350],[1,200]]},"modifiers":{"increasedSkillXP":[[3,3]],"increasedChanceSuccessfulCook":5,"decreasedDamageToAllMonsters":6},"completionBonuses":{"stamina":0,"xp":19,"gp":56,"slayerCoins":0,"items":[]}},{"id":49,"name":"Sweltering Pools","media":"assets/media/skills/agility/8SP.png","category":7,"interval":12000,"requirements":{"skillLevel":[[2,75],[5,75],[3,75]]},"cost":{"gp":5000000,"slayerCoins":0,"items":[[6,1000],[60,500],[48,1000]]},"modifiers":{"increasedMasteryXP":[[3,3]],"decreasedSkillIntervalPercent":[[3,3]],"increasedFoodHealingValue":10,"increasedAutoEatEfficiency":10,"decreasedGlobalPreservationChance":20},"completionBonuses":{"stamina":0,"xp":195,"gp":2200,"slayerCoins":0,"items":[]}},{"id":50,"name":"Rooftop Run","media":"assets/media/skills/agility/5RR.png","category":4,"interval":6000,"requirements":{"skillLevel":[[10,50]]},"cost":{"gp":500000,"slayerCoins":0,"items":[[522,500],[26,750]]},"modifiers":{"increasedSkillXP":[[10,3]],"increasedGPFromThieving":20,"decreasedSkillInterval":[[10,200]],"increasedThievingStealth":35,"decreasedDamageToAllMonsters":10},"completionBonuses":{"stamina":0,"xp":27,"gp":288,"slayerCoins":0,"items":[]}}]')

SkillData.Agility.Pillars = mw.text.jsonDecode('[{"id":0,"name":"Pillar of Combat","cost":{"gp":50000000,"slayerCoins":0,"items":[[58,10000],[133,10000]]},"modifiers":{"increasedMeleeEvasion":10,"increasedRangedEvasion":10,"increasedMagicEvasion":10,"increasedHPRegenFlat":5,"increasedSlayerAreaEffectNegationFlat":5,"increasedMinHitBasedOnMaxHit":5,"decreasedMonsterRespawnTimer":200}},{"id":1,"name":"Pillar of Skilling","cost":{"gp":50000000,"slayerCoins":0,"items":[[58,10000],[133,10000]]},"modifiers":{"increasedFarmingYield":10,"increasedChanceToDoubleItemsGlobal":3,"increasedGlobalPreservationChance":3,"increasedGlobalMasteryXP":2}},{"id":2,"name":"Pillar of Generosity","cost":{"gp":50000000,"slayerCoins":0,"items":[[58,10000],[133,10000]]},"modifiers":{"increasedBankSpace":10,"increasedChanceToPreservePotionCharge":10,"increasedPotionChargesFlat":5,"increasedGPGlobal":10,"increasedSummoningChargePreservation":5}}]')

SkillData.Summoning = {}
SkillData.Summoning.Settings = mw.text.jsonDecode('{"recipeGPCost":1000}')
SkillData.Summoning.Marks = mw.text.jsonDecode('{"Levels":[1,6,16,31]}')

SkillData.Summoning.Synergies = mw.text.jsonDecode('{"1":{"2":{"langDescription":"Upon killing an Enemy, grants GP equal to 10% of their highest base Evasion Rating.","description":"Upon killing an Enemy, grants GP equal to 10% of their highest base Evasion Rating.","modifiers":{"summoningSynergy_0_1":10}},"3":{"langDescription":"Upon killing an Enemy, grants +200 GP.","description":"Upon killing an Enemy, grants +200 GP.","modifiers":{"increasedGPFromMonstersFlat":200}},"7":{"langDescription":"Grants GP equal to 25% of your MELEE damage dealt.","description":"Grants GP equal to 25% of your MELEE damage dealt.","modifiers":{"summoningSynergy_0_6":250}},"8":{"langDescription":"Grants GP equal to 20% of your RANGED damage dealt.","description":"Grants GP equal to 20% of your RANGED damage dealt.","modifiers":{"summoningSynergy_0_7":200}},"9":{"langDescription":"Grants GP equal to 15% of your MAGIC damage dealt.","description":"Grants GP equal to 15% of your MAGIC damage dealt.","modifiers":{"summoningSynergy_0_8":150}},"13":{"langDescription":"Upon killing a Slayer Task Enemy, grants +50% GP.","description":"Upon killing a Slayer Task Enemy, grants +50% GP.","modifiers":{"summoningSynergy_0_12":50}},"14":{"langDescription":"Upon being hit by an Enemy, grants GP equal to (20 * Your Damage Reduction). This can only proc once every Enemy Attack Turn.","description":"Upon being hit by an Enemy, grants GP equal to (20 * Your Damage Reduction). This can only proc once every Enemy Attack Turn.","modifiers":{"summoningSynergy_0_13":20}},"15":{"langDescription":"Every time you regenerate Hitpoints (Not eating), grants GP equal to (100 * Hitpoints Regenerated).","description":"Every time you regenerate Hitpoints (Not eating), grants GP equal to (100 * Hitpoints Regenerated).","modifiers":{"summoningSynergy_0_14":1000}},"16":{"langDescription":"Upon killing an Enemy that is BURNING, grants +100% GP.","description":"Upon killing an Enemy that is BURNING, grants +100% GP.","modifiers":{"summoningSynergy_0_15":100}}},"2":{"3":{"langDescription":"When player has full Hitpoints, effects from the Occultist Familiar are tripled.","description":"When player has full HP, effects from the Occultist Familiar are tripled.","modifiers":{"summoningSynergy_1_2":2},"conditionalModifiers":[{"hooks":["PlayerHitpoints"],"modifiers":{"increasedGlobalEvasion":20},"target":0,"isActive":false},{"hooks":["PlayerHitpoints"],"modifiers":{"decreasedGlobalEvasion":20},"target":1,"isActive":false}]},"7":{"langDescription":"-15% Enemy Melee Evasion Rating.","description":"-15% Enemy Melee Evasion Rating.","modifiers":{},"enemyModifiers":{"decreasedMeleeEvasion":15}},"8":{"langDescription":"-15% Enemy Ranged Evasion Rating.","description":"-15% Enemy Ranged Evasion Rating.","modifiers":{},"enemyModifiers":{"decreasedRangedEvasion":15}},"9":{"langDescription":"+100 Magic Defence Bonus.","description":"+100 Magic Defence Bonus.","modifiers":{"summoningSynergy_1_8":100}},"13":{"langDescription":"If the Enemy is your current Slayer Task, -15% Enemy Accuracy Rating.","description":"If the Enemy is your current Slayer Task, -15% Enemy Accuracy Rating.","modifiers":{"summoningSynergy_1_12":15}},"14":{"langDescription":"Grants flat Melee & Ranged Defence Bonus equal to your Damage Reduction","description":"Grants flat Melee & Ranged Defence Bonus equal to your Damage Reduction","modifiers":{"summoningSynergy_1_13":1}},"15":{"langDescription":"If the Enemy has more combined Evasion Ratings than the Player, grants +200% Hitpoint Regeneration.","description":"If the Enemy has more combined Evasion Ratings than the Player, grants +200% Hitpoint Regeneration.","modifiers":{"summoningSynergy_1_14":200}},"16":{"langDescription":"If the Player is BURNING, grants +75 Melee, Ranged and Magic Defence Bonus.","description":"If the Player is BURNING, grants +75 Melee, Ranged and Magic Defence Bonus.","modifiers":{"summoningSynergy_1_15":75}}},"3":{"7":{"langDescription":"If using a Melee Attack Style, grants +6% Lifesteal.","description":"If using a Melee Attack Style, grants +6% Lifesteal.","modifiers":{"increasedMeleeLifesteal":6}},"8":{"langDescription":"If using a Ranged Attack Style, grants +4% Lifesteal.","description":"If using a Ranged Attack Style, grants +4% Lifesteal.","modifiers":{"increasedRangedLifesteal":4}},"9":{"langDescription":"If using a Magic Attack Style, grants +2% Lifesteal.","description":"If using a Magic Attack Style, grants +2% Lifesteal.","modifiers":{"increasedMagicLifesteal":2}},"13":{"langDescription":"Grants Slayer Coins equal to 5% of Hitpoints leeched from Lifesteal.","description":"Grants Slayer Coins equal to 5% of HP leeched from Lifesteal.","modifiers":{"summoningSynergy_2_12":50}},"14":{"langDescription":"Upon attacking an Enemy, heals you for 50% of your Damage Reduction. This can only proc on the first attack of multi-hit attacks.","description":"Upon attacking an Enemy, heals you for 50% of your Damage Reduction. This can only proc on the first attack of multi-hit attacks.","modifiers":{"summoningSynergy_2_13":5}},"15":{"langDescription":"+50% Lifesteal from Bleed damage.","description":"+50% Lifesteal from Bleed damage.","modifiers":{"increasedBleedLifesteal":50}},"16":{"langDescription":"Heals you for all damage dealt by the Wolf & Dragon Familiars.","description":"Heals you for all damage dealt by the Wolf & Dragon Familiars.","modifiers":{"summoningSynergy_2_15":100}}},"4":{"5":{"langDescription":"+2% chance per action in Woodcutting to gain a random Gem.","description":"+2% chance per action in Woodcutting to gain a random Gem.","modifiers":{"summoningSynergy_3_4":2}},"6":{"langDescription":"+3% Increased Special Item chance in Fishing. +3% Increased chance to obtain a Bird Nests in Woodcutting.","description":"+3% Increased Special Item chance in Fishing. +3% Increased chance to obtain a Bird Nests in Woodcutting.","modifiers":{"increasedBirdNestDropRate":3,"summoningSynergy_3_5":3}},"10":{"langDescription":"+15% chance to receive +1 Cooked Food in Cooking. Cannot be doubled.","description":"+15% chance to receive +1 Cooked Food in Cooking. Cannot be doubled.","modifiers":{"summoningSynergy_3_9":15}},"11":{"langDescription":"+20% Runecrafting Preservation Chance when creating Staves.","description":"+20% Runecrafting Preservation Chance when creating Staves.","modifiers":{"summoningSynergy_3_10":20}},"12":{"langDescription":"When successfully pickpocketing the Lumberjack in Thieving, grants +1 Bird Nest instead of GP.","description":"When successfully pickpocketing the Lumberjack in Thieving, grants +1 Bird Nest instead of GP.","modifiers":{"summoningSynergy_3_11":1}},"17":{"langDescription":"In Woodcutting, +30% chance for a random Silver or Gold Jewelry to drop instead of a Bird Nest.","description":"In Woodcutting, +30% chance for a random Silver or Gold Jewelry to drop instead of a Bird Nest.","modifiers":{"summoningSynergy_3_16":30}},"18":{"langDescription":"+5% chance to gain +1 Base Logs from Woodcutting, or produced Items from Smithing.","description":"+5% chance to gain +1 Base Logs from Woodcutting, or produced Items from Smithing.","modifiers":{"summoningSynergy_3_17":5}},"19":{"langDescription":"While the Bird Nest Potion is active in Woodcutting, grants +1 minimum Bird Nest.","description":"While the Bird Nest Potion is active in Woodcutting, grants +1 minimum Bird Nest.","modifiers":{"summoningSynergy_3_18":1}},"20":{"langDescription":"15% of Woodcutting Skill XP is earned as Firemaking Skill XP. Chance to double Logs is halved.","description":"15% of Woodcutting Skill XP is earned as Firemaking Skill XP. Chance to double Logs is halved.","modifiers":{"summoningSynergy_3_19":15}}},"5":{"6":{"langDescription":"When receiving a Gem from Mining or Fishing, there is a +15% chance to get another random Gem.","description":"When receiving a Gem from Mining or Fishing, there is a +15% chance to get another random Gem.","modifiers":{"summoningSynergy_4_5":15}},"10":{"langDescription":"Cooking Success Rate is capped at 75%. Grants 100 Coal Ore when failing to Cook Food.","description":"Cooking Success Rate is capped at 75%. Grants 100 Coal Ore when failing to Cook Food.","modifiers":{"summoningSynergy_4_9":25}},"11":{"langDescription":"Base quantity for Rune Essence in Mining is doubled.","description":"Base quantity for Rune Essence in Mining is doubled.","modifiers":{"summoningSynergy_4_10":1}},"12":{"langDescription":"When successfully pickpocketing the Miner in Thieving, +20% chance to get a random Gem.","description":"When successfully pickpocketing the Miner in Thieving, +20% chance to get a random Gem.","modifiers":{"summoningSynergy_4_11":20}},"17":{"langDescription":"Base quantity for Silver Ore & Gold Ore is doubled in Mining.","description":"Base quantity for Silver Ore & Gold Ore is doubled in Mining.","modifiers":{"summoningSynergy_4_16":1}},"18":{"langDescription":"+15% chance to receive a smithed version of the Ore you are Mining.","description":"+15% chance to receive a smithed version of the Ore you are Mining.","modifiers":{"summoningSynergy_4_17":15}},"19":{"langDescription":"While the Perfect Swing Potion is active in Mining, all Mining Nodes have +20 Maximum Hitpoints.","description":"While the Perfect Swing Potion is active in Mining, all Mining Nodes have +20 Max HP.","modifiers":{"summoningSynergy_4_18":20}},"20":{"langDescription":"+10% chance to receive a Diamond per action in Firemaking (Cannot be doubled).","description":"+10% chance to receive a Diamond per action in Firemaking (Cannot be doubled).","modifiers":{"increasedChanceForDiamondFiremaking":10}}},"6":{"10":{"langDescription":"+75% chance to receive an extra Fish as a Cooked version while Fishing.","description":"+75% chance to receive an extra Fish as a Cooked version while Fishing.","modifiers":{"summoningSynergy_5_9":75}},"11":{"langDescription":"In Runecrafting, when creating a Combination Rune that requires Water Runes as an ingredient, produce +5 extra Combination Runes.","description":"In Runecrafting, when creating a Combination Rune that requires Water Runes as an ingredient, produce +5 extra Combination Runes.","modifiers":{"summoningSynergy_5_10":5}},"12":{"langDescription":"+50% Thieving Skill Interval for Fisherman only. Also grants +2 Base Thieving Item Qty from Fisherman only.","description":"+50% Thieving Skill Interval for Fisherman only. Also grants +2 Base Thieving Item Qty from Fisherman only.","modifiers":{"summoningSynergy_5_11":50}},"17":{"langDescription":"33% chance to gain a random Gem while creating Jewelry in Crafting.","description":"33% chance to gain a random Gem while creating Jewelry in Crafting.","modifiers":{"summoningSynergy_5_16":33}},"18":{"langDescription":"While creating Dragon Gear in Smithing, grants +5% Smithing Preservation chance.","description":"While creating Dragon Gear in Smithing, grants +5% Smithing Preservation chance.","modifiers":{"summoningSynergy_5_17":5}},"19":{"langDescription":"+200% charges when using the Fishermans Potion. Bonus is applied when new Potion is activated. Charges are used each Fishing action.","description":"+200% charges when using the Fishermans Potion. Bonus is applied when new Potion is activated. Charges are used each Fishing action.","modifiers":{"summoningSynergy_5_18":200}},"20":{"langDescription":"+5% Cooking Mastery XP. -10% Cooking Skill XP.","description":"+5% Cooking Mastery XP. -10% Cooking Skill XP.","modifiers":{"decreasedSkillXP":[[3,10]],"increasedMasteryXP":[[3,5]]}}},"7":{"8":{"langDescription":"While fighting a Ranged Enemy, grants +15 Melee Accuracy Bonus and +15 Melee Strength Bonus.","description":"While fighting a Ranged Enemy, grants +15 Melee Accuracy Bonus and +15 Melee Strength Bonus.","modifiers":{"summoningSynergy_6_7":15}},"9":{"langDescription":"While fighting your current Slayer Task, grants +5% of your Magic Maximum Hit as Minimum Damage.","description":"While fighting your current Slayer Task, grants +5% of your Magic Max Hit as Minimum Damage.","modifiers":{"summoningSynergy_6_8":5}},"13":{"langDescription":"While fighting your current Slayer Task, grants +10% of your Melee Maximum Hit as Minimum Damage.","description":"While fighting your current Slayer Task, grants +10% of your Melee Max Hit as Minimum Damage.","modifiers":{"summoningSynergy_6_12":10}},"14":{"langDescription":"While fighting a Ranged Enemy, grants +2% Damage Reduction.","description":"While fighting a Ranged Enemy, grants +2% Damage Reduction.","modifiers":{"summoningSynergy_6_13":2}},"15":{"langDescription":"While using a Melee Weapon, grants +8% of your Melee Maximum Hit as Flat Hitpoints Regen.","description":"While using a Melee Weapon, grants +8% of your Melee Max Hit as Flat HP Regen.","modifiers":{"summoningSynergy_6_14":8}},"16":{"langDescription":"If the Enemy is BURNING, effects from the Minotaur Familiar are tripled.","description":"If the Enemy is BURNING, effects from the Minotaur Familiar are tripled.","modifiers":{"summoningSynergy_6_15":2},"conditionalModifiers":[{"hooks":["EnemyDOT"],"modifiers":{"increasedMeleeMaxHit":10,"increasedMeleeAccuracyBonus":10},"target":0,"isActive":false}]}},"8":{"9":{"langDescription":"While fighting a Magic Enemy, grants +15 Ranged Accuracy Bonus and +15 Ranged Strength Bonus.","description":"While fighting a Magic Enemy, grants +15 Ranged Accuracy Bonus and +15 Ranged Strength Bonus.","modifiers":{"summoningSynergy_7_8":15}},"13":{"langDescription":"While fighting your current Slayer Task, grants +10% of your Ranged Maximum Hit as Minimum Damage.","description":"While fighting your current Slayer Task, grants +10% of your Ranged Max Hit as Minimum Damage.","modifiers":{"summoningSynergy_7_12":10}},"14":{"langDescription":"While fighting a Magic Enemy, grants +2% Damage Reduction.","description":"While fighting a Magic Enemy, grants +2% Damage Reduction.","modifiers":{"summoningSynergy_7_13":2}},"15":{"langDescription":"While using a Ranged Weapon, grants +7% of your Ranged Maximum Hit as Hitpoints Regeneration.","description":"While using a Ranged Weapon, grants +7% of your Ranged Max Hit as HP Regeneration.","modifiers":{"summoningSynergy_7_14":7}},"16":{"langDescription":"Your Ranged Attacks now have +20% to inflict BURNING on the Enemy.","description":"Your Ranged Attacks now have +20% to inflict BURNING on the Enemy.","modifiers":{"summoningSynergy_7_15":20}}},"9":{"13":{"langDescription":"Grants Slayer Coins equal to 2% of your Magic Damage while on Slayer Task.","description":"Grants Slayer Coins equal to 2% of your Magic Damage while on Slayer Task.","modifiers":{"summoningSynergy_8_12":20}},"14":{"langDescription":"While fighting a Melee Enemy, grants +2% Damage Reduction.","description":"While fighting a Melee Enemy, grants +2% Damage Reduction.","modifiers":{"summoningSynergy_8_13":2}},"15":{"langDescription":"Grants +5% of your Maximum Hit as Hitpoints Regeneration if using a Magic Attack Style.","description":"Grants +5% of your Max Hit as HP Regeneration if using a Magic Attack Style.","modifiers":{"summoningSynergy_8_14":5}},"16":{"langDescription":"+30 Minimum Damage for all Standard Magic Spells.","description":"+30 Minimum Damage for all Standard Magic Spells.","modifiers":{"increasedMinAirSpellDmg":3,"increasedMinWaterSpellDmg":3,"increasedMinEarthSpellDmg":3,"increasedMinFireSpellDmg":3}}},"10":{"11":{"langDescription":"+5% chance to preserve resources in Cooking, and when creating Runes in Runecrafting.","description":"+5% chance to preserve resources in Cooking, and when creating Runes in Runecrafting.","modifiers":{"increasedRunecraftingEssencePreservation":5,"increasedSkillPreservationChance":[[3,5]]}},"12":{"langDescription":"The Chef in Thieving now deals no damage to you.","description":"The Chef in Thieving now deals no damage to you.","modifiers":{"summoningSynergy_9_11":1}},"17":{"langDescription":"Crafting Recipes that require Dragonhide now use -1 quantity to create. Recipe cost cannot go below 1.","description":"Crafting Recipes that require Dragonhide now use -1 quantity to create. Recipe cost cannot go below 1.","modifiers":{"summoningSynergy_9_16":1}},"18":{"langDescription":"-0.1s Skill Interval for Cooking & Smithing.","description":"-0.1s Skill Interval for Cooking & Smithing.","modifiers":{"summoningSynergy_9_17":100}},"19":{"langDescription":"Generous Cook Potions now provide +200% charges. This bonus is applied when a new potion is activated.","description":"Generous Cook Potions now provide +200% charges. This bonus is applied when a new potion is activated.","modifiers":{"summoningSynergy_9_18":200}},"20":{"langDescription":"+8% Firemaking & Cooking Mastery XP. -10% Firemaking & Cooking Preservation Chance.","description":"+8% Firemaking & Cooking Mastery XP. -10% Firemaking & Cooking Preservation Chance.","modifiers":{"increasedMasteryXP":[[2,8],[3,8]],"decreasedSkillPreservationChance":[[2,10],[3,10]],"summoningSynergy_9_19":1}}},"11":{"12":{"langDescription":"Successfully pickpocketting the Miner in Thieving will now grant +1 Rune Essence.","description":"Successfully pickpocketting the Miner in Thieving will now grant +1 Rune Essence.","modifiers":{"summoningSynergy_10_11":1}},"17":{"langDescription":"+10% chance to double when creating Leather, Hard Leather or Dragonhide Armour in Crafting.","description":"+10% chance to double when creating Leather, Hard Leather or Dragonhide Armour in Crafting.","modifiers":{"summoningSynergy_10_16":10}},"18":{"langDescription":"+10% Smithing & Runecrafting Preservation Chance.","description":"+10% Smithing & Runecrafting Preservation Chance.","modifiers":{"increasedSkillPreservationChance":[[5,10],[15,10]],"summoningSynergy_10_17":10}},"19":{"langDescription":"While the Elemental Potion is active in Runecrafting, grants a chance to get random Combination Runes. The chance and quantity is equal to that of the Elemental Potion.","description":"While the Elemental Potion is active in Runecrafting, grants a chance to get random Combination Runes. The chance and quantity is equal to that of the Elemental Potion.","modifiers":{"summoningSynergy_10_18":1}},"20":{"langDescription":"Grants +10 Fire Runes while creating Elemental Runes. -5% Runecrafting Skill XP.","description":"Grants +10 Fire Runes while creating Elemental Runes. -5% Runecrafting Skill XP.","modifiers":{"summoningSynergy_10_19":10,"decreasedSkillXP":[[15,5]]}}},"12":{"17":{"langDescription":"Upon receiving a Common Drop from Thieving, automatically sell it for 1500% of its base sale price.","description":"Upon receiving a Common Drop from Thieving, automatically sell it for 1500% of its base sale price.","modifiers":{"summoningSynergy_11_16":15}},"18":{"langDescription":"Upon successfully pickpocketting an item from the Miner in Thieving, 50% chance to receive a random Bar.","description":"Upon successfully pickpocketting an item from the Miner in Thieving, 50% chance to receive a random Bar.","modifiers":{"summoningSynergy_11_17":50}},"19":{"langDescription":"+3% chance to obtain a single Herb Sack while Thieving the Farmer, on top of the original item obtained.","description":"+3% chance to obtain a single Herb Sack while Thieving the Farmer, on top of the original item obtained.","modifiers":{"summoningSynergy_11_18":3}},"20":{"langDescription":"While Thieving any NPC, 50% chance to grant +100% GP, 35% chance to grant 4x Items, or 15% chance to receive no items or GP at all.","description":"While Thieving any NPC, 50% chance to grant +100% GP, 35% chance to grant 4x Items, or 15% chance to receive no items or GP at all.","modifiers":{"summoningSynergy_11_19":1}}},"13":{"14":{"langDescription":"While fighting your current Slayer Task, +3% Damage Reduction.","description":"While fighting your current Slayer Task, +3% Damage Reduction.","modifiers":{"summoningSynergy_12_13":3}},"15":{"langDescription":"While fighting your current Slayer Task, +150% Hitpoints Regeneration.","description":"While fighting your current Slayer Task, +150% Hitpoints Regeneration.","modifiers":{"summoningSynergy_12_14":150}},"16":{"langDescription":"You take 25% less damage from Dragonbreath Special Attacks.","description":"You take 25% less damage from Dragonbreath Special Attacks.","modifiers":{"decreasedDragonBreathDamage":25}}},"14":{"15":{"langDescription":"+200% Hitpoints Regeneration if you have less than 75% Current Hitpoints.","description":"+200% Hitpoints Regeneration if you have less than 75% Current HP.","modifiers":{"summoningSynergy_13_14":200}},"16":{"langDescription":"You take no damage from BURNING.","description":"You take no damage from BURNING.","modifiers":{"burnImmunity":100}}},"15":{"16":{"langDescription":"You now heal for all BURNING damage you or the Dragon Familiar applies.","description":"You now heal for all BURNING damage you or the Dragon Familiar applies.","modifiers":{"increasedBurnLifesteal":100}}},"16":{},"17":{"18":{"langDescription":"+33% chance to preserve resources in Crafting when creating Rings or Amulets only.","description":"+33% chance to preserve resources in Crafting when creating Rings or Amulets only.","modifiers":{"summoningSynergy_16_17":33}},"19":{"langDescription":"Crafting Potions now last twice as long. Bonus is applied when a new potion is activated. Charges are used per Crafting action.","description":"Crafting Potions now last twice as long. Bonus is applied when a new potion is activated. Charges are used per Crafting action.","modifiers":{"summoningSynergy_16_18":1}},"20":{"langDescription":"Burning Logs in Firemaking grants GP equal to 400% of its base sale price.","description":"Burning Logs in Firemaking grants GP equal to 400% of its base sale price.","modifiers":{"summoningSynergy_16_19":400}}},"18":{"19":{"langDescription":"While using the Seeing Gold Potion in Smithing, double Silver & Gold Bar output.","description":"While using the Seeing Gold Potion in Smithing, double Silver & Gold Bar output.","modifiers":{"summoningSynergy_17_18":1}},"20":{"langDescription":"-3 Coal required for Smithing Item production.","description":"-3 Coal required for Smithing Item production.","modifiers":{"summoningSynergy_17_19":3}}},"19":{"20":{"langDescription":"While using the Controlled Heat Potions, +5% Firemaking Skill XP and Bonfire duration is doubled. Charges are used per Firemaking action.","description":"While using the Controlled Heat Potions, +5% Firemaking Skill XP and Bonfire duration is doubled. Charges are used per Firemaking action.","modifiers":{"summoningSynergy_18_19":5}}},"20":{}}')

SkillData.Summoning.ItemData = mw.text.jsonDecode('[{"itemID":977,"level":1,"summoningID":0},{"itemID":978,"level":5,"summoningID":1},{"itemID":979,"level":15,"summoningID":2},{"itemID":980,"level":1,"summoningID":3},{"itemID":981,"level":5,"summoningID":4},{"itemID":982,"level":15,"summoningID":5},{"itemID":983,"level":25,"summoningID":6},{"itemID":984,"level":35,"summoningID":7},{"itemID":985,"level":45,"summoningID":8},{"itemID":986,"level":25,"summoningID":9},{"itemID":987,"level":35,"summoningID":10},{"itemID":988,"level":45,"summoningID":11},{"itemID":989,"level":55,"summoningID":12},{"itemID":990,"level":65,"summoningID":13},{"itemID":991,"level":80,"summoningID":14},{"itemID":992,"level":90,"summoningID":15},{"itemID":993,"level":55,"summoningID":16},{"itemID":994,"level":65,"summoningID":17},{"itemID":995,"level":80,"summoningID":18},{"itemID":996,"level":90,"summoningID":19}]')

SkillData.Farming = {}
SkillData.Farming.Patches= mw.text.jsonDecode('[{"id":0,"areaName":"Allotments","patches":[{"level":1,"cost":0},{"level":1,"cost":500},{"level":1,"cost":5000},{"level":10,"cost":15000},{"level":20,"cost":25000},{"level":30,"cost":40000},{"level":40,"cost":65000},{"level":50,"cost":80000},{"level":60,"cost":100000},{"level":70,"cost":120000},{"level":80,"cost":150000},{"level":90,"cost":200000}]},{"id":1,"areaName":"Herbs","patches":[{"level":5,"cost":10000},{"level":5,"cost":20000},{"level":15,"cost":35000},{"level":35,"cost":50000},{"level":45,"cost":80000},{"level":55,"cost":100000},{"level":65,"cost":125000},{"level":75,"cost":150000},{"level":85,"cost":200000}]},{"id":2,"areaName":"Trees","patches":[{"level":15,"cost":50000},{"level":30,"cost":100000},{"level":60,"cost":250000},{"level":80,"cost":400000}]}]')

SkillData.Astrology = {}
SkillData.Astrology.Constellations = mw.text.jsonDecode('[{"name":"Deedree","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/deedree.svg","level":1,"skills":[0,11],"provides":{"xp":5,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedFarmingYield","increasedBirdNestDropRate"],"id":0},{"name":"Iridan","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/iridan.svg","level":10,"skills":[6,5],"provides":{"xp":13,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedHiddenSkillLevel","increasedGPFromMonsters","increasedGlobalAccuracy"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedMinHitBasedOnMaxHit","decreasedSkillIntervalPercent"],"id":1},{"name":"Ameria","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/ameria.svg","level":20,"skills":[1,2],"provides":{"xp":21,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedFishingSpecialChance","increasedChanceForDiamondFiremaking","decreasedSkillIntervalPercent"],"id":2},{"name":"Terra","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/terra.svg","level":30,"skills":[7,4],"provides":{"xp":29,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedHiddenSkillLevel","increasedGPFromMonsters","increasedGlobalAccuracy"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedMiningNodeHP","increasedMeleeStrengthBonus","increasedChanceNoDamageMining","increasedMiningGemChance"],"id":3},{"name":"Vale","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/vale.svg","level":40,"skills":[9,3],"provides":{"xp":37,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedGPFromMonsters","increasedGlobalAccuracy"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedFoodHealingValue","increasedHitpointRegeneration","increasedLifesteal","increasedChanceToPreserveFood","decreasedSkillIntervalPercent"],"id":4},{"name":"Syllia","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/syllia.svg","level":50,"skills":[12,13],"provides":{"xp":45,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedHiddenSkillLevel","increasedGPFromMonsters","increasedGlobalAccuracy"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedRangedStrengthBonus","increasedRangedAccuracyBonus","increasedAmmoPreservation"],"id":5},{"name":"Arachi","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/arachi.svg","level":60,"skills":[16,15],"provides":{"xp":53,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedHiddenSkillLevel","increasedGPFromMonsters","increasedGlobalAccuracy"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedMagicDamageBonus","increasedMagicAccuracyBonus","increasedAltMagicRunePreservation","increasedChanceForElementalRune"],"id":6},{"name":"Ko","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/ko.svg","level":70,"skills":[20,10],"provides":{"xp":61,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","decreasedAgilityObstacleCost","increasedMasteryXP"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedMinThievingGP","increasedGPFromAgility"],"id":7},{"name":"Tellus","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/tellus.svg","level":80,"skills":[8,18],"provides":{"xp":69,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedHiddenSkillLevel","increasedGPFromMonsters","increasedGlobalAccuracy"],"1":["increasedSkillXP","increasedSlayerCoins","increasedGPFromMonsters","increasedGlobalAccuracy"]},"uniqueModifiers":["increasedGlobalEvasion","increasedReflectDamage","increasedDamageToSlayerTasks","increasedDamageToSlayerAreaMonsters"],"id":8},{"name":"Hyden","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/hyden.svg","level":90,"skills":[17,14],"provides":{"xp":77,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedGPFromMonsters","increasedGlobalAccuracy"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedChanceToPreservePrayerPoints","decreasedSkillIntervalPercent","summoningSynergy_10_16"],"id":9},{"name":"Qimican","media":"https://cdn.melvor.net/core/v018/assets/media/skills/astrology/qimican.svg","level":95,"skills":[21,19],"provides":{"xp":85,"gp":0,"slayerCoins":0,"items":[]},"standardModifiers":{"0":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"],"1":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP"]},"uniqueModifiers":["increasedChanceToPreservePotionCharge","increasedSummoningChargePreservation","decreasedSkillIntervalPercent"],"id":10}]')
SkillData.Astrology.Defaults = mw.text.jsonDecode('{"stardustChance":1,"goldenStardustChance":0.2,"interval":3000,"unqiueModifierChance":1,"standardAstrologyModifierList":["increasedSkillXP","increasedChanceToDoubleItemsSkill","increasedMasteryXP","increasedHiddenSkillLevel","increasedGPFromMonsters","increasedGlobalAccuracy"],"valueWeight":[50,80,95,99,1]}')

return SkillData