From e87f17def0146f43028bdc3950a33212a51e0812 Mon Sep 17 00:00:00 2001 From: AJ Coppa Date: Sat, 8 Feb 2025 22:13:00 -0500 Subject: [PATCH] Speed up script startup The previous nested logic scanning through every skill/item took ~10 seconds on startup every time the script is run. This commit speeds it up significantly. --- src/tasks/perm.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/tasks/perm.ts b/src/tasks/perm.ts index 285e906..75ab3fb 100644 --- a/src/tasks/perm.ts +++ b/src/tasks/perm.ts @@ -24,11 +24,15 @@ export function setClass(property: string, value: Class): void { export const baseClasses = $classes`Seal Clubber, Turtle Tamer, Pastamancer, Sauceror, Disco Bandit, Accordion Thief`; export const gnomeSkills = $skills`Torso Awareness, Gnefarious Pickpocketing, Powers of Observatiogn, Gnomish Hardigness, Cosmic Ugnderstanding`; +const itemSkills = new Set(); +for (const item of Item.all()) { + const skill = item.skill; + if (skill === $skill.none) continue; + if (item.reusable && have(item)) itemSkills.add(skill); +} const permBlockList = [ ...$skills`CLEESH, Chronic Indigestion`, - ...Skill.all().filter((sk) => - Item.all().find((it) => it.skill === sk && it.reusable && have(it)) - ), + ...itemSkills ]; export const permTiers = [