17,101
edits
m (Re-add attackType) |
(Testing Skills/data for v1.0.2) |
||
Line 1: | Line 1: | ||
-- Version: | -- Version: V1.0.2 (?1523) | ||
--[[Generated from | --[[Generated from console via | ||
(function() { | (function() { | ||
var getGameVersion = function() { | var getGameVersion = function() { | ||
var | 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() | 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 = 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( | txt = JSON.stringify(Woodcutting.trees) | ||
txt = txt.replace(/\'/g, "\\\'") | txt = txt.replace(/\'/g, "\\\'") | ||
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 = JSON.stringify( | |||
txt = txt.replace(/\'/g, "\\\'") | txt = txt.replace(/\'/g, "\\\'") | ||
txt = txt.replace(/\\\"/g, "\\\\\"") | txt = txt.replace(/\\\"/g, "\\\\\"") | ||
txt = "SkillData.Prayer = mw.text.jsonDecode('" + txt + "')" | |||
fullText += "\r\n\r\n" + txt | |||
txt = JSON.stringify( | txt = JSON.stringify(agilityObstacles) | ||
txt = txt.replace(/\'/g, "\\\'") | txt = txt.replace(/\'/g, "\\\'") | ||
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( | txt = JSON.stringify(agilityPassivePillars) | ||
txt = txt.replace(/\'/g, "\\\'") | txt = txt.replace(/\'/g, "\\\'") | ||
txt = txt.replace(/\\\"/g, "\\\\\"") | txt = txt.replace(/\\\"/g, "\\\\\"") | ||
fullText += "\r\n\r\ | 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 | |||
fullText += "\r\n\r\nreturn | // 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) | console.log(fullText) | ||
})() | })() | ||
--]] | --]] | ||
local SkillData = {} | |||
SkillData.Skills = mw.text.jsonDecode('{"0":{"name":"Woodcutting","media":"assets/media/skills/woodcutting/woodcutting | |||
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 | return SkillData |