Template:CorruptionsTable

From Melvor Idle
Revision as of 18:55, 20 September 2024 by Slash (talk | contribs) (Add data sort values)

A script is used to generate the following table. To use, open the game and paste the below into the console. The outputs will be copied to your clipboard automatically. After running the script, 'edit source' on Template:CorruptionsTable then Ctrl+A and Ctrl+V. Look over the contents to ensure everything looks fine.

let EFFECT_ICON_MODIFICATIONS = [ { effect: 'Bleed' }, { effect: 'Slow' }, { effect: 'Laceration' }, { effect: 'Ablaze' }, { effect: 'Blight' }, { effect: 'Fear' }, { effect: 'Silence' } ];
let LINKS_MODIFICATIONS = [ { effect: 'Attack Interval' },  { effect: 'Lifesteal' },  { effect: 'Accuracy Rating' },  { effect: 'Global Evasion' } ];
let ICON_MODIFICATIONS = [ { effect: 'Unholy Prayers' }, { effect: 'Barrier' }, { effect: 'Abyssal Resistance' } ];
[...EFFECT_ICON_MODIFICATIONS, ...LINKS_MODIFICATIONS, ...ICON_MODIFICATIONS].forEach(x => x["regex"] = new RegExp("\\b" + x.effect + "\\b", "ig"));

let modifyDescription = (text) => {
	EFFECT_ICON_MODIFICATIONS.forEach((x, i) => { text = text.replace(x.regex, `{{EffectIcon|${x.effect}}}`); });
	LINKS_MODIFICATIONS.forEach((x, i) => { text = text.replace(x.regex, `[[${x.effect}]]`); });
	ICON_MODIFICATIONS.forEach((x, i) => { text = text.replace(x.regex, `{{Icon|${x.effect}}}`); });
	text = text.replace('Global Accuracy', '[[Accuracy Rating|Global Accuracy]]');
	return text
}

let results = `<noinclude>{{/doc}}[[Category:Manual Tables]]</noinclude>\n{| class="wikitable sortable"\n|-\n! Min Monster Lvl\n! Effect\n|-`;
game.corruption.corruptionEffects.allRows.sort((a,b) => a.minMonsterLevel - b.minMonsterLevel).forEach((row, i) => {
	let description = modifyDescription(row.langStringID !== '' ? getLangString(row.langStringID) : row.customDescription),
		monsterLevelReq = row.minMonsterLevel ? numberWithCommas(row.minMonsterLevel) : 'Starts Unlocked';
	results += `\n|data-sort-value="${row.minMonsterLevel}"| ${monsterLevelReq}`;
	results += `\n| <span class="text-positive">${description}</span>`;
	if (i < game.corruption.corruptionEffects.allRows.length - 1) results += '\n|-';
});
results += '\n|}';console.log(results);
self.nw?.Clipboard.get().set ? self.nw?.Clipboard?.get().set(results, 'text') : copy(results);
Min Monster Lvl Effect
Starts Unlocked +25% Accuracy Rating
6,000 +25% Global Evasion
6,000 Inflict a stack of Laceration per hit. Laceration deals damage equal to 1% of the enemy's max hit per stack (Stacks up to 20 times) every 0.5s.
8,000 On a hit, inflict a Slow that lasts for 3 Attack Turns.
10,000 +50% Accuracy Rating
12,000 +50% Global Evasion
13,000 On a hit, inflict Bleed that deals 200% of the damage dealt as damage over 10s.
17,000 Inflict a stack of
Error creating thumbnail: File missing
Blight
per hit.
Error creating thumbnail: File missing
Blight
gives -3% Maximum Hit,-3% Global Accuracy,-3% Global Evasion every 1.5s (Stacks up to 10 times, removed at max stacks).
18,000 -10% Attack Interval
19,000 +10%
Error creating thumbnail: File missing
Abyssal Resistance
.
22,000 On a hit, inflict
Error creating thumbnail: File missing
Ablaze
that deals 50% of the enemy's max hit as damage over 2.5s.
31,000 +75% Accuracy Rating
31,000 +40% Global Evasion and +40% Global Evasion
130,000 +75% Global Evasion
130,000 +50% Reflect Damage.
320,000 -20% Attack Interval
320,000 +5% Lifesteal.
321,000 On a hit, 25% chance to apply
Error creating thumbnail: File missing
Fear
.
613,000 On a hit, inflict Bleed that deals 200% of the damage dealt as damage over 10s and inflict a Slow that lasts for 3 Attack Turns.
696,969 -25% Attack Interval, +40% Global Accuracy and +40% Global Evasion.
999,000 On a hit, 25% chance to apply
Error creating thumbnail: File missing
Silence
for 1 turn.
1,200,000 +1 Attack Rolls (Select highest chance).
1,450,000 Attacks cannot miss.