Module:Skills/data

From Melvor Idle

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

--Version: v0.20 (?936)
local SkillData = {}


--[[Generated from console via
var fullTxt = ""
var txt = JSON.stringify(herbloreItemData)
txt = txt.replace(/\'/g, "\\\'")
txt = txt.replace(/\\\"/g, "\\\\\"")
txt = "SkillData.Herblore = {}\r\nSkillData.Herblore.ItemData = mw.text.jsonDecode('" + txt + "')"
fullTxt += txt

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

txt = JSON.stringify(miningData)
txt = txt.replace(/\'/g, "\\\'")
txt = txt.replace(/\\\"/g, "\\\\\"")
txt = "SkillData.Mining = {}\r\nSkillData.Mining.Rocks = mw.text.jsonDecode('" + txt + "')"
fullTxt += "\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 + "')"
fullTxt += "\r\n\r\n" + txt

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

txt = JSON.stringify(cookingFireData)
txt = txt.replace(/\'/g, "\\\'")
txt = txt.replace(/\\\"/g, "\\\\\"")
txt = "SkillData.Cooking = {}\r\nSkillData.Cooking.Fires = mw.text.jsonDecode('" + txt + "')"
fullTxt += "\r\n\r\n" + txt

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


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


var MasteryPoolXP = []
for(var skillID in masteryCheckpointBonuses){
  MasteryPoolXP[skillID] = getMasteryPoolTotalXP(skillID);
}
txt = JSON.stringify(MasteryPoolXP)
txt = txt.replace(/\'/g, "\\\'")
txt = txt.replace(/\\\"/g, "\\\\\"")
txt = "SkillData.MasteryPoolXP = mw.text.jsonDecode('" + txt + "')"
fullTxt += "\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 + "')"
fullTxt += "\r\n\r\n" + txt

txt = JSON.stringify(priceToUnlockSkill)
txt = txt.replace(/\'/g, "\\\'")
txt = txt.replace(/\\\"/g, "\\\\\"")
txt = "SkillData.SkillUnlockCosts = mw.text.jsonDecode('" + txt + "')"
fullTxt += "\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(trees)
txt = txt.replace(/\'/g, "\\\'")
txt = txt.replace(/\\\"/g, "\\\\\"")
txt = "SkillData.Woodcutting = {}\r\nSkillData.Woodcutting.Trees = mw.text.jsonDecode('" + txt + "')"
fullTxt += "\r\n\r\n" + txt

txt = JSON.stringify(PRAYER)
txt = txt.replace(/\'/g, "\\\'")
txt = txt.replace(/\\\"/g, "\\\\\"")
txt = "SkillData.Prayer = mw.text.jsonDecode('" + txt + "')"
fullTxt += "\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 + "')"
fullTxt += "\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 + "')"
fullTxt += "\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) + "')"
fullTxt += "\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 + "')"
fullTxt += "\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 + "')"
fullTxt += "\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 + "')"
fullTxt += "\r\n\r\n" + txt

fullTxt += "\r\n\r\nreturn SkillData"
console.log(fullTxt)
--]]
SkillData.Herblore = {}
SkillData.Herblore.ItemData = mw.text.jsonDecode('[{"id":0,"name":"Melee Accuracy Potion","itemID":[535,536,537,538],"category":0,"herbloreLevel":5,"herbloreXP":8},{"id":1,"name":"Melee Strength Potion","itemID":[539,540,541,542],"category":0,"herbloreLevel":60,"herbloreXP":60},{"id":2,"name":"Melee Evasion Potion","itemID":[543,544,545,546],"category":0,"herbloreLevel":10,"herbloreXP":10},{"id":3,"name":"Ranged Assistance Potion","itemID":[547,548,549,550],"category":0,"herbloreLevel":15,"herbloreXP":14},{"id":4,"name":"Magic Assistance Potion","itemID":[551,552,553,554],"category":0,"herbloreLevel":25,"herbloreXP":22},{"id":5,"name":"Regeneration Potion","itemID":[555,556,557,558],"category":0,"herbloreLevel":35,"herbloreXP":31},{"id":6,"name":"Damage Reduction Potion","itemID":[559,560,561,562],"category":0,"herbloreLevel":90,"herbloreXP":180},{"id":7,"name":"Bird Nests Potion","itemID":[563,564,565,566],"category":1,"herbloreLevel":1,"herbloreXP":5},{"id":8,"name":"Fishermans Potion","itemID":[567,568,569,570],"category":1,"herbloreLevel":40,"herbloreXP":36},{"id":9,"name":"Controlled Heat Potion","itemID":[571,572,573,574],"category":1,"herbloreLevel":20,"herbloreXP":18},{"id":10,"name":"Generous Cook Potion","itemID":[575,576,577,578],"category":1,"herbloreLevel":32,"herbloreXP":28},{"id":11,"name":"Perfect Swing Potion","itemID":[579,580,581,582],"category":1,"herbloreLevel":53,"herbloreXP":53},{"id":12,"name":"Seeing Gold Potion","itemID":[583,584,585,586],"category":1,"herbloreLevel":36,"herbloreXP":33},{"id":13,"name":"Gentle Hands Potion","itemID":[587,588,589,590],"category":1,"herbloreLevel":45,"herbloreXP":41},{"id":14,"name":"Generous Harvest Potion","itemID":[591,592,593,594],"category":1,"herbloreLevel":74,"herbloreXP":112},{"id":15,"name":"Skilled Fletching Potion","itemID":[595,596,597,598],"category":1,"herbloreLevel":42,"herbloreXP":39},{"id":16,"name":"Crafting Potion","itemID":[599,600,601,602],"category":1,"herbloreLevel":49,"herbloreXP":41},{"id":17,"name":"Elemental Potion","itemID":[603,604,605,606],"category":1,"herbloreLevel":63,"herbloreXP":63},{"id":18,"name":"Herblore Potion","itemID":[607,608,609,610],"category":1,"herbloreLevel":71,"herbloreXP":99},{"id":19,"name":"Magic Damage Potion","itemID":[615,616,617,618],"category":0,"herbloreLevel":65,"herbloreXP":85},{"id":20,"name":"Ranged Strength Potion","itemID":[611,612,613,614],"category":0,"herbloreLevel":45,"herbloreXP":45},{"id":21,"name":"Diamond Luck Potion","itemID":[633,634,635,636],"category":0,"herbloreLevel":85,"herbloreXP":160},{"id":22,"name":"Divine Potion","itemID":[637,638,639,640],"category":0,"herbloreLevel":57,"herbloreXP":51},{"id":23,"name":"Lucky Herb Potion","itemID":[641,642,643,644],"category":0,"herbloreLevel":50,"herbloreXP":47},{"id":24,"name":"Performance Enhancing Potion","itemID":[966,967,968,969],"category":1,"herbloreLevel":62,"herbloreXP":61},{"id":25,"name":"Necromancer Potion","itemID":[1001,1002,1003,1004],"category":1,"herbloreLevel":55,"herbloreXP":50}]')

SkillData.Thieving = mw.text.jsonDecode('[{"name":"Man","level":1,"xp":5,"maxHit":1,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":20,"lootTable":[],"media":"assets/media/skills/thieving/man.svg"},{"name":"Golbin","level":10,"xp":10,"maxHit":2,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":50,"lootTable":[],"media":"assets/media/skills/thieving/goblin.svg"},{"name":"Lumberjack","level":20,"xp":20,"maxHit":3,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":100,"lootTable":[[0,70],[1,50],[2,30],[3,20],[4,15],[5,7],[6,5],[7,2],[8,1]],"media":"assets/media/skills/thieving/lumberjack.svg"},{"name":"Farmer","level":30,"xp":30,"maxHit":3,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":120,"lootTable":[[143,280],[144,180],[620,150],[145,140],[146,110],[147,80],[148,50],[149,20],[159,20],[150,18],[469,15],[160,80],[161,30],[162,15],[163,5],[164,1]],"media":"assets/media/skills/thieving/farmer.svg"},{"name":"Fisherman","level":40,"xp":45,"maxHit":4,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":140,"lootTable":[[9,40],[10,35],[11,30],[12,25],[13,20],[14,16],[15,12],[16,10],[17,5],[18,2],[120,1]],"media":"assets/media/skills/thieving/fisherman.svg"},{"name":"Chef","level":50,"xp":55,"maxHit":4,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":160,"lootTable":[[21,40],[22,35],[23,30],[24,25],[25,20],[26,16],[27,8],[28,5],[29,1]],"media":"assets/media/skills/thieving/chef.svg"},{"name":"Miner","level":60,"xp":65,"maxHit":4,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":180,"lootTable":[[45,210],[46,210],[47,140],[48,124],[49,100],[50,80],[51,50],[52,10],[53,1],[128,1],[129,1],[130,1],[131,1],[132,1]],"media":"assets/media/skills/thieving/miner.svg"},{"name":"Knight","level":75,"xp":90,"maxHit":5,"baseSuccess":57.5,"maxSuccess":95,"maxCoins":200,"lootTable":[[63,80],[64,80],[65,80],[66,80],[71,65],[72,65],[73,65],[74,65],[79,50],[80,50],[81,50],[82,50],[134,35],[135,35],[136,35],[137,35],[87,15],[88,15],[89,15],[90,15],[95,5],[96,5],[97,5],[98,5],[104,1],[105,1]],"media":"assets/media/skills/thieving/knight.svg"}]')

SkillData.Mining = {}
SkillData.Mining.Rocks = mw.text.jsonDecode('[{"level":1,"respawnInterval":5000,"ore":45,"masteryID":0},{"level":1,"respawnInterval":5000,"ore":46,"masteryID":1},{"level":15,"respawnInterval":10000,"ore":47,"masteryID":2},{"level":30,"respawnInterval":10000,"ore":48,"masteryID":3},{"level":30,"respawnInterval":15000,"ore":49,"masteryID":4},{"level":40,"respawnInterval":15000,"ore":50,"masteryID":5},{"level":50,"respawnInterval":20000,"ore":51,"masteryID":6},{"level":70,"respawnInterval":30000,"ore":52,"masteryID":7},{"level":80,"respawnInterval":60000,"ore":53,"masteryID":8},{"level":95,"respawnInterval":120000,"ore":54,"masteryID":9},{"level":1,"respawnInterval":1000,"ore":388,"masteryID":10}]')

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

SkillData.Firemaking = mw.text.jsonDecode('[{"type":"normal","level":1,"interval":2000,"bonfireInterval":20000,"bonfireBonus":5,"xp":15},{"type":"oak","level":10,"interval":2000,"bonfireInterval":30000,"bonfireBonus":10,"xp":30},{"type":"willow","level":25,"interval":3000,"bonfireInterval":40000,"bonfireBonus":15,"xp":40},{"type":"teak","level":35,"interval":4000,"bonfireInterval":50000,"bonfireBonus":20,"xp":65},{"type":"maple","level":45,"interval":5000,"bonfireInterval":60000,"bonfireBonus":25,"xp":80},{"type":"mahogany","level":55,"interval":6000,"bonfireInterval":70000,"bonfireBonus":30,"xp":100},{"type":"yew","level":60,"interval":7000,"bonfireInterval":80000,"bonfireBonus":35,"xp":150},{"type":"magic","level":75,"interval":10000,"bonfireInterval":90000,"bonfireBonus":40,"xp":225},{"type":"redwood","level":90,"interval":15000,"bonfireInterval":100000,"bonfireBonus":45,"xp":280}]')

SkillData.Cooking = {}
SkillData.Cooking.Fires = mw.text.jsonDecode('[{"tier":"normal","fmLevel":1,"costGP":20000,"costLogs":[0,500],"bonusXP":5,"media":"assets/media/skills/cooking/cooking_fire_normal.svg"},{"tier":"oak","fmLevel":10,"costGP":40000,"costLogs":[1,500],"bonusXP":10,"media":"assets/media/skills/cooking/cooking_fire_oak.svg"},{"tier":"willow","fmLevel":25,"costGP":70000,"costLogs":[2,500],"bonusXP":15,"media":"assets/media/skills/cooking/cooking_fire_willow.svg"},{"tier":"teak","fmLevel":35,"costGP":100000,"costLogs":[3,500],"bonusXP":20,"media":"assets/media/skills/cooking/cooking_fire_teak.svg"},{"tier":"maple","fmLevel":45,"costGP":150000,"costLogs":[4,500],"bonusXP":25,"media":"assets/media/skills/cooking/cooking_fire_maple.svg"},{"tier":"mahogany","fmLevel":55,"costGP":200000,"costLogs":[5,500],"bonusXP":30,"media":"assets/media/skills/cooking/cooking_fire_mahogany.svg"},{"tier":"yew","fmLevel":60,"costGP":300000,"costLogs":[6,500],"bonusXP":40,"media":"assets/media/skills/cooking/cooking_fire_yew.svg"},{"tier":"magic","fmLevel":75,"costGP":500000,"costLogs":[7,500],"bonusXP":50,"media":"assets/media/skills/cooking/cooking_fire_magic.svg"},{"tier":"redwood","fmLevel":90,"costGP":1000000,"costLogs":[8,500],"bonusXP":70,"media":"assets/media/skills/cooking/cooking_fire_redwood.svg"}]')

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":99,"unlock":"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 a slight increase in success rate as well as increased % GP acquired equal to your Mastery Level."},{"level":99,"unlock":"Never fail a pickpocket attempt."}],"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."}]}')

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 Max 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":["+5% increased Thieving Mastery XP","+10% increased success rate for all NPC","+10% chance to receive double items from Thieving","+100% increased gold from Thieving"]},"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."]}}')

SkillData.MasteryPoolXP = mw.text.jsonDecode('[4500000,11500000,4500000,8000000,5500000,57500000,null,null,null,null,4000000,11000000,null,28000000,24000000,42000000,null,null,null,13000000,24000000,10000000]')

SkillData.Milestones = mw.text.jsonDecode('[10,24,10,17,12,116,11,1,12,1,9,23,73,57,49,85,88,27,12,27,12,21]')

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

SkillData.Woodcutting = {}
SkillData.Woodcutting.Trees = mw.text.jsonDecode('[{"type":"normal","level":1,"interval":3000,"xp":10,"media":"assets/media/skills/woodcutting/normal_tree.svg"},{"type":"oak","level":10,"interval":4000,"xp":15,"media":"assets/media/skills/woodcutting/oak_tree.svg"},{"type":"willow","level":25,"interval":5000,"xp":22,"media":"assets/media/skills/woodcutting/willow_tree.svg"},{"type":"teak","level":35,"interval":6000,"xp":30,"media":"assets/media/skills/woodcutting/teak_tree.svg"},{"type":"maple","level":45,"interval":8000,"xp":40,"media":"assets/media/skills/woodcutting/maple_tree.svg"},{"type":"mahogany","level":55,"interval":10000,"xp":60,"media":"assets/media/skills/woodcutting/mahogany_tree.svg"},{"type":"yew","level":60,"interval":12000,"xp":80,"media":"assets/media/skills/woodcutting/yew_tree.svg"},{"type":"magic","level":75,"interval":20000,"xp":100,"media":"assets/media/skills/woodcutting/magic_tree.svg"},{"type":"redwood","level":90,"interval":15000,"xp":180,"media":"assets/media/skills/woodcutting/redwood_tree.svg"}]')

SkillData.Prayer = mw.text.jsonDecode('[{"name":"Thick Skin","description":"+5% Melee Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":1,"media":"assets/media/skills/prayer/thick_skin.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeEvasion":5}},{"name":"Burst of Strength","description":"+5% Melee Strength Bonus<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":4,"media":"assets/media/skills/prayer/burst_of_strength.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeStrengthBonus":5}},{"name":"Clarity of Thought","description":"+5% Melee Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":7,"media":"assets/media/skills/prayer/clarity_of_thought.svg","values":[5],"pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":5}},{"name":"Sharp Eye","description":"+5% Ranged Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":8,"media":"assets/media/skills/prayer/sharp_eye.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":5}},{"name":"Mystic Will","description":"+5% Magic Accuracy & Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":9,"media":"assets/media/skills/prayer/mystic_will.svg","pointsPerPlayer":1,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":5,"increasedMagicEvasion":5}},{"name":"Rock Skin","description":"+10% Melee Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":10,"media":"assets/media/skills/prayer/rock_skin.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeEvasion":10}},{"name":"Superhuman Strength","description":"+10% Melee Strength Bonus<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":13,"media":"assets/media/skills/prayer/superhuman_strength.svg","values":[10],"pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeStrengthBonus":10}},{"name":"Improved Reflexes","description":"+10% Melee Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":16,"media":"assets/media/skills/prayer/improved_reflexes.svg","values":[10],"pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":10}},{"name":"Rapid Heal","description":"2x Restore Rate for Hitpoints<br><span class=\'text-danger\'>Provides no extra Prayer XP</span>","prayerLevel":20,"media":"assets/media/skills/prayer/rapid_heal.svg","vars":["prayerBonusHitpoints"],"values":[2],"pointsPerPlayer":0,"pointsPerEnemy":0,"pointsPerRegen":4,"modifiers":{}},{"name":"Protect Item","description":"Keep item on death<br><span class=\'text-danger\'>Provides no extra Prayer XP</span>","prayerLevel":25,"media":"assets/media/skills/prayer/protect_item.svg","vars":["prayerBonusProtectItem"],"values":[1],"pointsPerPlayer":0,"pointsPerEnemy":2,"pointsPerRegen":0,"modifiers":{}},{"name":"Hawk Eye","description":"+10% Ranged Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":26,"media":"assets/media/skills/prayer/hawk_eye.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":10}},{"name":"Mystic Lore","description":"+10% Magic Accuracy & Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":27,"media":"assets/media/skills/prayer/mystic_lore.svg","pointsPerPlayer":2,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":10,"increasedMagicEvasion":10}},{"name":"Steel Skin","description":"+15% Melee Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":28,"media":"assets/media/skills/prayer/steel_skin.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeEvasion":15}},{"name":"Ultimate Strength","description":"+15% Melee Strength Bonus<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":31,"media":"assets/media/skills/prayer/ultimate_strength.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeStrengthBonus":15}},{"name":"Incredible Reflexes","description":"+15% Melee Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":34,"media":"assets/media/skills/prayer/incredible_reflexes.svg","values":[15],"pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":15}},{"name":"Protect from Magic","description":"You have a set 85% chance to dodge Magic Attacks<br><span class=\'text-danger\'>Provides no extra Prayer XP</span>","prayerLevel":37,"media":"assets/media/skills/prayer/protect_from_magic.svg","vars":["prayerBonusProtectFromMagic"],"values":[1],"pointsPerPlayer":0,"pointsPerEnemy":10,"pointsPerRegen":0,"modifiers":{}},{"name":"Protect from Ranged","description":"You have a set 85% chance to dodge Ranged Attacks<br><span class=\'text-danger\'>Provides no extra Prayer XP</span>","prayerLevel":40,"media":"assets/media/skills/prayer/protect_from_ranged.svg","vars":["prayerBonusProtectFromRanged"],"values":[1],"pointsPerPlayer":0,"pointsPerEnemy":10,"pointsPerRegen":0,"modifiers":{}},{"name":"Protect from Melee","description":"You have a set 85% chance to dodge Melee Attacks<br><span class=\'text-danger\'>Provides no extra Prayer XP</span>","prayerLevel":43,"media":"assets/media/skills/prayer/protect_from_melee.svg","vars":["prayerBonusProtectFromMelee"],"values":[1],"pointsPerPlayer":0,"pointsPerEnemy":10,"pointsPerRegen":0,"modifiers":{}},{"name":"Eagle Eye","description":"+15% Ranged Accuracy Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":44,"media":"assets/media/skills/prayer/eagle_eye.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":15}},{"name":"Mystic Might","description":"+15% Magic Accuracy & Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":45,"media":"assets/media/skills/prayer/mystic_might.svg","pointsPerPlayer":3,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":15,"increasedMagicEvasion":15}},{"name":"Redemption","description":"Heal +20% HP when your hitpoints fall below 10%<br><span class=\'text-danger\'>Provides no extra Prayer XP</span>","prayerLevel":50,"media":"assets/media/skills/prayer/redemption.svg","vars":["prayerBonusHitpointHeal"],"values":[20],"pointsPerPlayer":0,"pointsPerEnemy":6,"pointsPerRegen":0,"modifiers":{}},{"name":"Chivalry","description":"+15% Melee Accuracy Rating, +15% Melee Strength Bonus, +15% Melee Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":60,"media":"assets/media/skills/prayer/chivalry.svg","pointsPerPlayer":5,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":15,"increasedMeleeStrengthBonus":15,"increasedMeleeEvasion":15}},{"name":"Piety","description":"+18% Melee Accuracy Rating, +12% Melee Strength Bonus, +18% Melee Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":75,"media":"assets/media/skills/prayer/piety.svg","pointsPerPlayer":7,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMeleeAccuracyBonus":18,"increasedMeleeStrengthBonus":12,"increasedMeleeEvasion":18}},{"name":"Rigour","description":"+20% Ranged Accuracy Rating, +23% Ranged Strength Bonus, +25% Ranged Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":79,"media":"assets/media/skills/prayer/rigour.svg","pointsPerPlayer":7,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedRangedAccuracyBonus":20,"increasedRangedStrengthBonus":23,"increasedRangedEvasion":25}},{"name":"Augury","description":"+25% Magic Accuracy Rating, +10% Magic Damage Bonus, +25% Magic Evasion Rating<br><span class=\'text-success\'>Provides extra Prayer XP based on damage dealt to enemy</span>","prayerLevel":84,"media":"assets/media/skills/prayer/augury.svg","pointsPerPlayer":7,"pointsPerEnemy":0,"pointsPerRegen":0,"modifiers":{"increasedMagicAccuracyBonus":25,"increasedMagicEvasion":25,"increasedMagicDamageBonus":10}},{"name":"Stone Skin","description":"+3% Damage Reduction<br><span class=\'text-danger\'>Provides no extra Prayer XP</span>","prayerLevel":88,"media":"assets/media/skills/prayer/stone_skin.svg","pointsPerPlayer":0,"pointsPerEnemy":3,"pointsPerRegen":0,"modifiers":{"increasedDamageReduction":3}}]')

SkillData.Agility = {}
SkillData.Agility.Obstacles = mw.text.jsonDecode('[{"name":"Cargo Net","description":"Random flavour text","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":8,"slayerCoins":0,"items":[]}},{"name":"Rope Swing","description":"Random flavour text","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":10,"slayerCoins":0,"items":[]}},{"name":"Rope Climb","description":"Random flavour text","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":5,"slayerCoins":0,"items":[]}},{"name":"Rope Jump","description":"Random flavour text","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":50,"slayerCoins":0,"items":[]}},{"name":"Monkey Bars","description":"Random flavour text","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":34,"slayerCoins":0,"items":[]}},{"name":"Balance Beam","description":"Random flavour text","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":43,"slayerCoins":0,"items":[]}},{"name":"Balance Seesaw","description":"Random flavour text","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":115,"slayerCoins":0,"items":[]}},{"name":"Pipe Climb","description":"Random flavour text","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":{"increasedMeleeStrengthBonus":3,"increasedMeleeEvasion":3},"completionBonuses":{"stamina":0,"xp":29,"gp":84,"slayerCoins":0,"items":[]}},{"name":"Pipe Balance","description":"Random flavour text","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":120,"slayerCoins":0,"items":[]}},{"name":"Pit Jump","description":"Random flavour text","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":30,"slayerCoins":0,"items":[]}},{"name":"Stepping Stones","description":"Random flavour text","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":79,"slayerCoins":0,"items":[]}},{"name":"Coal Stones","description":"Random flavour text","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":51,"slayerCoins":0,"items":[]}},{"name":"Mud Crawl","description":"Random flavour text","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":176,"slayerCoins":0,"items":[]}},{"name":"Mud Dive","description":"Random flavour text","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":{"increasedMeleeStrengthBonus":2,"increasedMeleeAccuracyBonus":5,"increasedMaxHitpoints":2,"decreasedDamageReduction":4},"completionBonuses":{"stamina":0,"xp":43,"gp":83,"slayerCoins":0,"items":[]}},{"name":"Cave Climb","description":"Random flavour text","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,"increasedMeleeStrengthBonus":5,"decreasedMaxHitpoints":4},"completionBonuses":{"stamina":0,"xp":36,"gp":121,"slayerCoins":0,"items":[]}},{"name":"Gap Jump","description":"Random flavour text","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":57,"slayerCoins":0,"items":[]}},{"name":"Rock Climb","description":"Random flavour text","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":216,"slayerCoins":0,"items":[]}},{"name":"Cliff Climb","description":"Random flavour text","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":103,"slayerCoins":0,"items":[]}},{"name":"Cliff Balance","description":"Random flavour text","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,"increasedMaxHitpoints":2,"decreasedFlatPrayerCostReduction":2},"completionBonuses":{"stamina":0,"xp":41,"gp":147,"slayerCoins":0,"items":[]}},{"name":"Mountain Climb","description":"Random flavour text","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":371,"slayerCoins":0,"items":[]}},{"name":"Tree Climb","description":"Random flavour text","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":114,"slayerCoins":0,"items":[]}},{"name":"Tree Hop","description":"Random flavour text","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":707,"slayerCoins":0,"items":[]}},{"name":"Tree Balance","description":"Random flavour text","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":632,"slayerCoins":0,"items":[]}},{"name":"Rocky Waters","description":"Random flavour text","media":"assets/media/skills/agility/6RW.svg","category":5,"interval":11000,"requirements":{"skillLevel":[[9,50]]},"cost":{"gp":1000000,"slayerCoins":50000,"items":[[26,3000]]},"modifiers":{"increasedMaxHitpoints":5},"completionBonuses":{"stamina":0,"xp":61,"gp":723,"slayerCoins":0,"items":[]}},{"name":"Lake Swim","description":"Random flavour text","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":652,"slayerCoins":0,"items":[]}},{"name":"Raft Drifting","description":"Random flavour text","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":309,"slayerCoins":0,"items":[]}},{"name":"Spike Trap","description":"Random flavour text","media":"assets/media/skills/agility/7ST.svg","category":6,"interval":9000,"requirements":{"skillLevel":[]},"cost":{"gp":2500000,"slayerCoins":0,"items":[]},"modifiers":{"decreasedMaxHitpoints":4,"decreasedDamageReduction":2},"completionBonuses":{"stamina":0,"xp":87,"gp":801,"slayerCoins":0,"items":[]}},{"name":"Heat Trap","description":"Random flavour text","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":1062,"slayerCoins":0,"items":[]}},{"name":"Boulder Trap","description":"Random flavour text","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":972,"slayerCoins":0,"items":[]}},{"name":"Water Trap","description":"Random flavour text","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":1294,"slayerCoins":0,"items":[]}},{"name":"Freezing Trap","description":"Random flavour text","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":748,"slayerCoins":0,"items":[]}},{"name":"Pipe Crawl","description":"Random flavour text","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":2004,"slayerCoins":0,"items":[]}},{"name":"Raft Building","description":"Random flavour text","media":"assets/media/skills/agility/8RB.svg","category":7,"interval":14000,"requirements":{"skillLevel":[[7,70],[9,70]]},"cost":{"gp":5000000,"slayerCoins":150000,"items":[[27,4000]]},"modifiers":{"increasedDamageToAllMonsters":2,"increasedMaxHitpoints":2},"completionBonuses":{"stamina":0,"xp":144,"gp":3274,"slayerCoins":0,"items":[]}},{"name":"Spike Jump","description":"Random flavour text","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":2877,"slayerCoins":0,"items":[]}},{"name":"Tree Hang","description":"Random flavour text","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":2950,"slayerCoins":0,"items":[]}},{"name":"A Lovely Jog","description":"Random flavour text","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":1535,"slayerCoins":0,"items":[]}},{"name":"Lava Jump","description":"Random flavour text","media":"assets/media/skills/agility/9LJ.svg","category":8,"interval":5000,"requirements":{"skillLevel":[[17,80]]},"cost":{"gp":10000000,"slayerCoins":250000,"items":[[29,5000],[133,5000],[8,5000]]},"modifiers":{"decreasedMonsterRespawnTimer":300,"decreasedDamageReduction":6,"decreasedGlobalMasteryXP":6,"decreasedAutoEatEfficiency":6},"completionBonuses":{"stamina":0,"xp":160,"gp":4361,"slayerCoins":0,"items":[]}},{"name":"Water Jump","description":"Random flavour text","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,"increasedMeleeStrengthBonus":3,"increasedRangedStrengthBonus":3,"increasedMagicDamageBonus":3},"completionBonuses":{"stamina":0,"xp":162,"gp":1110,"slayerCoins":0,"items":[]}},{"name":"Ice Jump","description":"Random flavour text","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,5000],[48,5000],[132,2000]]},"modifiers":{"increasedGlobalPreservationChance":10,"increasedFoodHealingValue":10,"increasedChanceToDoubleItemsGlobal":5,"increasedMaxHitpoints":2,"increasedMiningNodeHP":10,"increasedSlayerCoins":10,"increasedSkillXP":[[18,5]]},"completionBonuses":{"stamina":0,"xp":315,"gp":4873,"slayerCoins":0,"items":[]}},{"name":"Cave Maze","description":"Random flavour text","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":755,"slayerCoins":0,"items":[]}},{"name":"Frozen Lake Crossing","description":"Random flavour text","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":1358,"slayerCoins":0,"items":[]}},{"name":"Waterfall","description":"Random flavour text","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":9533,"slayerCoins":0,"items":[]}},{"name":"Lava Waterfall Dodge","description":"Random flavour text","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":3644,"slayerCoins":0,"items":[]}},{"name":"Boulder Move","description":"Random flavour text","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":4072,"slayerCoins":0,"items":[]}},{"name":"Dragon Fight","description":"Random flavour text","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,10000]]},"modifiers":{"decreasedMonsterRespawnTimer":300,"decreasedAutoEatEfficiency":16},"completionBonuses":{"stamina":0,"xp":539,"gp":8969,"slayerCoins":0,"items":[]}},{"name":"Ocean Rafting","description":"Random flavour text","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":4225,"slayerCoins":0,"items":[]}},{"name":"Forest Trail","description":"Random flavour text","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":315,"slayerCoins":0,"items":[]}},{"name":"Runic Trail","description":"Random flavour text","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":2999,"slayerCoins":0,"items":[]}}]')

SkillData.Agility.Pillars = mw.text.jsonDecode('[{"name":"Pillar of Combat","description":"Random flavour text","cost":{"gp":50000000,"slayerCoins":0,"items":[[58,10000],[133,10000]]},"modifiers":{"increasedMeleeEvasion":10,"increasedRangedEvasion":10,"increasedMagicEvasion":10,"increasedHPRegenFlat":5,"increasedSlayerAreaEffectNegationFlat":5,"increasedMinHitBasedOnMaxHit":5}},{"name":"Pillar of Skilling","description":"Random flavour text","cost":{"gp":50000000,"slayerCoins":0,"items":[[58,10000],[133,10000]]},"modifiers":{"increasedFarmingYield":10,"increasedChanceToDoubleItemsGlobal":3,"increasedGlobalPreservationChance":3,"increasedGlobalMasteryXP":2}},{"name":"Pillar of Generosity","description":"Random flavour text","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":{"description":"Upon killing an Enemy, grants GP equal to 10% of their highest base Evasion Rating.","modifiers":{"summoningSynergy_0_1":10}},"3":{"description":"Upon killing an Enemy, grants +200 GP.","modifiers":{"increasedGPFromMonstersFlat":200}},"7":{"description":"Grants GP equal to 25% of your MELEE damage dealt.","modifiers":{"summoningSynergy_0_6":25}},"8":{"description":"Grants GP equal to 20% of your RANGED damage dealt.","modifiers":{"summoningSynergy_0_7":20}},"9":{"description":"Grants GP equal to 15% of your MAGIC damage dealt.","modifiers":{"summoningSynergy_0_8":15}},"13":{"description":"Upon killing a Slayer Task Enemy, grants +50% GP.","modifiers":{"summoningSynergy_0_12":50}},"14":{"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":{"description":"Every time you regenerate Hitpoints (Not eating), grants GP equal to (100 * Hitpoints Regenerated).","modifiers":{"summoningSynergy_0_14":1}},"16":{"description":"Upon killing an Enemy that is BURNING, grants +100% GP.","modifiers":{"summoningSynergy_0_15":100}}},"2":{"3":{"description":"When player has full HP, effects from the Occultist Familiar are tripled.","modifiers":{"summoningSynergy_1_2":1}},"7":{"description":"-15% Enemy Melee Evasion Rating.","modifiers":{"decreasedEnemyMeleeEvasion":15}},"8":{"description":"-15% Enemy Ranged Evasion Rating.","modifiers":{"decreasedEnemyRangedEvasion":15}},"9":{"description":"+100 Magic Defence Bonus.","modifiers":{"summoningSynergy_1_8":100}},"13":{"description":"If the Enemy is your current Slayer Task, -15% Enemy Accuracy Rating.","modifiers":{"summoningSynergy_1_12":15}},"14":{"description":"Grants flat Melee & Ranged Defence Bonus equal to your Damage Reduction","modifiers":{"summoningSynergy_1_13":1}},"15":{"description":"If the Enemy has more combined Evasion Ratings than the Player, grants +200% Hitpoint Regeneration.","modifiers":{"summoningSynergy_1_14":200}},"16":{"description":"If the Player is BURNING, grants +75 Melee, Ranged and Magic Defence Bonus.","modifiers":{"summoningSynergy_1_15":75}}},"3":{"7":{"description":"If using a Melee Attack Style, grants +6% Lifesteal.","modifiers":{"summoningSynergy_2_6":6}},"8":{"description":"If using a Ranged Attack Style, grants +4% Lifesteal.","modifiers":{"summoningSynergy_2_7":4}},"9":{"description":"If using a Magic Attack Style, grants +2% Lifesteal.","modifiers":{"summoningSynergy_2_8":2}},"13":{"description":"Grants Slayer Coins equal to 5% of HP leeched from Lifesteal.","modifiers":{"summoningSynergy_2_12":5}},"14":{"description":"Upon attacking an Enemy, heals you for 50% of your Damage Reduction. This can only proc once every 2 seconds.","modifiers":{"summoningSynergy_2_13":50}},"15":{"description":"+1% Lifesteal from Bleed damage.","modifiers":{"summoningSynergy_2_14":1}},"16":{"description":"Heals you for all damage dealt by the Wolf & Dragon Familiars.","modifiers":{"summoningSynergy_2_15":1}}},"4":{"5":{"description":"+2% chance per action in Woodcutting to gain a random Gem.","modifiers":{"summoningSynergy_3_4":2}},"6":{"description":"+3% Increased Special Item chance in Fishing. +3% Increased chance to obtain a Bird Nests in Woodcutting.","modifiers":{"summoningSynergy_3_5":3}},"10":{"description":"+1% chance to receive +1 Cooked Food in Cooking. Cannot be doubled.","modifiers":{"summoningSynergy_3_9":1}},"11":{"description":"+20% Runecrafting Preservation Chance when creating Staves.","modifiers":{"summoningSynergy_3_10":20}},"12":{"description":"When successfully pickpocketing the Lumberjack in Thieving, grants +1 Bird Nest instead of GP.","modifiers":{"summoningSynergy_3_11":1}},"17":{"description":"In Woodcutting, +1% chance for a random Silver or Gold Jewelry to drop instead of a Bird Nest.","modifiers":{"summoningSynergy_3_16":1}},"18":{"description":"+5% chance to gain +1 Base Logs from Woodcutting, or produced Items from Smithing.","modifiers":{"summoningSynergy_3_17":5}},"19":{"description":"While the Bird Nest Potion is active in Woodcutting, grants +1 minimum Bird Nest.","modifiers":{"summoningSynergy_3_18":1}},"20":{"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":{"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":{"description":"+25% base burn chance in Cooking. Grants 100 Coal Ore when burning Food.","modifiers":{"summoningSynergy_4_9":25}},"11":{"description":"Base quantity for Rune Essence in Mining is doubled.","modifiers":{"summoningSynergy_4_10":1}},"12":{"description":"When successfully pickpocketing the Miner in Thieving, +10% chance to get a random Gem.","modifiers":{"summoningSynergy_4_11":10}},"17":{"description":"Base quantity for Silver Ore & Gold Ore is doubled in Mining.","modifiers":{"summoningSynergy_4_16":1}},"18":{"description":"+15% chance to receive a smithed verion of the Ore you are Mining.","modifiers":{"summoningSynergy_4_17":15}},"19":{"description":"While the Perfect Swing Potion is active in Mining, all Mining Nodes have +20 Max HP.","modifiers":{"summoningSynergy_4_18":20}},"20":{"description":"+10% chance to recieve a Diamond per action in Firemaking.","modifiers":{"summoningSynergy_4_19":10}}},"6":{"10":{"description":"+75% chance to recieve an extra Fish as a Cooked version while Fishing.","modifiers":{"summoningSynergy_5_9":75}},"11":{"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":{"description":"-50% Thieving Skill Interval for Fisherman only. Also grants +2 Base Thieving Item Qty from Fisherman only.","modifiers":{"summoningSynergy_5_11":1}},"17":{"description":"33% chance to gain a random Gem while creating Jewelry in Crafting.","modifiers":{"summoningSynergy_5_16":33}},"18":{"description":"While creating Dragon Gear in Smithing, grants +5% Smithing Preservation chance.","modifiers":{"summoningSynergy_5_17":5}},"19":{"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":{"description":"+5% Cooking Mastery XP. -10% Cooking Skill XP.","modifiers":{"decreasedSkillXP":[[3,10]],"increasedMasteryXP":[[3,5]]}}},"7":{"8":{"description":"While fighting a Ranged Enemy, grants +15 Melee Accuracy Bonus and +15 Melee Strength Bonus.","modifiers":{"summoningSynergy_6_7":15}},"9":{"description":"While fighting your current Slayer Task, grants +5% of your Magic Max Hit as Minimum Damage.","modifiers":{"summoningSynergy_6_8":5}},"13":{"description":"While fighting your current Slayer Task, grants +10% of your Melee Max Hit as Minimum Damage.","modifiers":{"summoningSynergy_6_12":10}},"14":{"description":"While fighting a Ranged Enemy, grants +2% Damage Reduction.","modifiers":{"summoningSynergy_6_13":2}},"15":{"description":"While using a Melee Weapon, grants +8% of your Melee Max Hit as Flat HP Regen.","modifiers":{"summoningSynergy_6_14":8}},"16":{"description":"If the Enemy is BURNING, effects from the Minotaur Familiar are tripled.","modifiers":{"summoningSynergy_6_15":1}}},"8":{"9":{"description":"While fighting a Magic Enemy, grants +15 Ranged Accuracy Bonus and +15 Ranged Strength Bonus.","modifiers":{"summoningSynergy_7_8":15}},"13":{"description":"While fighting your current Slayer Task, grants +10% of your Ranged Max Hit as Minimum Damage.","modifiers":{"summoningSynergy_7_12":10}},"14":{"description":"While fighting a Magic Enemy, grants +2% Damage Reduction.","modifiers":{"summoningSynergy_7_13":2}},"15":{"description":"While using a Ranged Weapon, grants +7% of your Ranged Max Hit as HP Regeneration.","modifiers":{"summoningSynergy_7_14":7}},"16":{"description":"Your Ranged Attacks now have +20% to inflict BURNING on the Enemy.","modifiers":{"summoningSynergy_7_15":20}}},"9":{"13":{"description":"Grants Slayer Coins equal to 2% of your Magic Damage while on Slayer Task.","modifiers":{"summoningSynergy_8_12":2}},"14":{"description":"While fighting a Melee Enemy, grants +2% Damage Reduction.","modifiers":{"summoningSynergy_8_13":2}},"15":{"description":"Grants +5% of your Max Hit as HP Regeneration if using a Magic Attack Style.","modifiers":{"summoningSynergy_8_14":5}},"16":{"description":"+30 Minimum Damage for all Standard Magic Spells.","modifiers":{"increasedMinAirSpellDmg":3,"increasedMinWaterSpellDmg":3,"increasedMinEarthSpellDmg":3,"increasedMinFireSpellDmg":3}}},"10":{"11":{"description":"+5% chance to preserve resources in Cooking, and when creating Runes in Runecrafting.","modifiers":{"increasedSkillPreservationChance":[[3,5]],"summoningSynergy_9_10":5}},"12":{"description":"The Chef in Thieving now deals no damage to you.","modifiers":{"summoningSynergy_9_11":1}},"17":{"description":"Crafting Recipes that require Dragonhide now use -1 quantity to create. Recipe cost cannot go below 1.","modifiers":{"summoningSynergy_9_16":1}},"18":{"description":"-0.1s Skill Interval for Cooking & Smithing.","modifiers":{"summoningSynergy_9_17":100}},"19":{"description":"Generous Cook Potions now provide +200% charges. This bonus is applied when a new potion is activated.","modifiers":{"summoningSynergy_9_18":200}},"20":{"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":{"description":"Successfully pickpocketting the Miner in Thieving will now grant +1 Rune Essence.","modifiers":{"summoningSynergy_10_11":1}},"17":{"description":"+10% chance to double when creating Leather, Hard Leather or Dragonhide Armour in Crafting.","modifiers":{"summoningSynergy_10_16":10}},"18":{"description":"+10% Smithing & Runecrafting Preservation Chance.","modifiers":{"increasedSkillPreservationChance":[[5,10],[15,10]],"summoningSynergy_10_17":10}},"19":{"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":{"description":"Grants +10 Fire Runes while creating Elemental Runes. -5% Runecrafting Skill XP.","modifiers":{"summoningSynergy_10_19":10,"decreasedSkillXP":[[15,5]]}}},"12":{"17":{"description":"Upon receiving an item in Thieving, grants GP equal to 2000% of its sale price.","modifiers":{"summoningSynergy_11_16":20}},"18":{"description":"Upon successfully pickpocketting an item from the Miner in Thieving, 50% chance to receive a random Bar.","modifiers":{"summoningSynergy_11_17":50}},"19":{"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":{"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":{"description":"While fighting your current Slayer Task, +3% Damage Reduction.","modifiers":{"summoningSynergy_12_13":3}},"15":{"description":"While fighting your current Slayer Task, +150% Hitpoints Regeneration.","modifiers":{"summoningSynergy_12_14":150}},"16":{"description":"You take 25% less damage from Dragonbreath Special Attacks.","modifiers":{"summoningSynergy_12_15":25}}},"14":{"15":{"description":"+200% Hitpoints Regeneration if you have less than 75% Current HP.","modifiers":{"summoningSynergy_13_14":200}},"16":{"description":"You take no damage from BURNING.","modifiers":{"summoningSynergy_13_15":1}}},"15":{"16":{"description":"You now heal for all BURNING damage you or the Dragon Familiar applies.","modifiers":{"summoningSynergy_14_15":1}}},"16":{},"17":{"18":{"description":"+33% chance to preserve resources in Crafting when creating Rings or Amulets only.","modifiers":{"summoningSynergy_16_17":33}},"19":{"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":{"description":"Burning Logs in Firemaking grants GP equal to 400% of its base sale price.","modifiers":{"summoningSynergy_16_19":300}}},"18":{"19":{"description":"While using the Seeing Gold Potion in Smithing, double Silver & Gold Bar output.","modifiers":{"summoningSynergy_17_18":1}},"20":{"description":"-3 Coal required for Smithing Item production.","modifiers":{"summoningSynergy_17_19":3}}},"19":{"20":{"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":1}}},"20":{}}')

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

return SkillData