Skip to content

Commit ced70b8

Browse files
committed
Use EMonster enum for monsterScores record
1 parent 8bebbb2 commit ced70b8

File tree

2 files changed

+52
-45
lines changed

2 files changed

+52
-45
lines changed

src/lib/diaries.ts

Lines changed: 42 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { objectEntries } from '@oldschoolgg/toolkit';
2-
import { Items, Monsters, resolveItems } from 'oldschooljs';
2+
import { EMonster, Items, Monsters, resolveItems } from 'oldschooljs';
33

44
import type { Minigame } from '@/prisma/main.js';
55
import { MAX_QP } from '@/lib/minions/data/quests.js';
@@ -104,10 +104,9 @@ export function userhasDiaryTierSync(
104104
}
105105

106106
if (tier.monsterScores) {
107-
const entries = Object.entries(tier.monsterScores);
108-
for (const [name, score] of entries) {
109-
const mon = Monsters.find(mon => mon.name === name)!;
110-
if (!monsterScores[mon.id] || monsterScores[mon.id] < score) {
107+
for (const [id, score] of objectEntries(tier.monsterScores)) {
108+
const mon = Monsters.get(Number(id))!;
109+
if (!monsterScores[mon.id] || monsterScores[mon.id] < score!) {
111110
canDo = false;
112111
reasons.push(
113112
`You don't have **${score} ${mon.name}** KC, you have **${monsterScores[mon.id] ?? 0}** KC`
@@ -213,7 +212,7 @@ export const WesternProv: Diary = {
213212
},
214213
qp: 92,
215214
monsterScores: {
216-
Zulrah: 1
215+
[EMonster.ZULRAH]: 1
217216
}
218217
},
219218
elite: {
@@ -235,7 +234,7 @@ export const WesternProv: Diary = {
235234
},
236235
collectionLogReqs: resolveItems(['Magic longbow', 'Void knight top', 'Void knight robe', 'Void knight gloves']),
237236
monsterScores: {
238-
'Thermonuclear smoke devil': 1
237+
[EMonster.THERMONUCLEAR_SMOKE_DEVIL]: 1
239238
},
240239
minigameReqs: {
241240
big_chompy_bird_hunting: 1000
@@ -394,7 +393,7 @@ const DesertDiary: Diary = {
394393
'Pollnivneach Rooftop Course': 1
395394
},
396395
monsterScores: {
397-
'Dust Devil': 1
396+
[EMonster.DUST_DEVIL]: 1
398397
},
399398
collectionLogReqs: resolveItems(['Mithril platebody'])
400399
},
@@ -478,8 +477,8 @@ export const FaladorDiary: Diary = {
478477
qp: 32,
479478
collectionLogReqs: resolveItems(['Mind rune', 'Prospector helmet']),
480479
monsterScores: {
481-
'Skeletal Wyvern': 1,
482-
'Blue Dragon': 1
480+
[EMonster.SKELETAL_WYVERN]: 1,
481+
[EMonster.BLUE_DRAGON]: 1
483482
},
484483
lapsReqs: {
485484
'Falador Rooftop Course': 1
@@ -580,14 +579,14 @@ const FremennikDiary: Diary = {
580579
strength: 70
581580
},
582581
monsterScores: {
583-
'Dagannoth Rex': 1,
584-
'Dagannoth Prime': 1,
585-
'Dagannoth Supreme': 1,
586-
'General Graardor': 1,
587-
"Kree'arra": 1,
588-
'Commander Zilyana': 1,
589-
"K'ril Tsutsaroth": 1,
590-
'Spiritual Mage': 1
582+
[EMonster.DAGANNOTH_REX]: 1,
583+
[EMonster.DAGANNOTH_PRIME]: 1,
584+
[EMonster.DAGANNOTH_SUPREME]: 1,
585+
[EMonster.GENERAL_GRAARDOR]: 1,
586+
[EMonster.KREEARRA]: 1,
587+
[EMonster.COMMANDER_ZILYANA]: 1,
588+
[EMonster.KRIL_TSUTSAROTH]: 1,
589+
[EMonster.SPIRITUAL_MAGE]: 1
591590
},
592591
collectionLogReqs: resolveItems(['Astral rune', 'Dragonstone amulet']),
593592
qp: 50
@@ -626,7 +625,7 @@ export const KandarinDiary: Diary = {
626625
},
627626
collectionLogReqs: resolveItems(['Bass', 'Maple shortbow', 'Limpwurt root', 'Coal']),
628627
monsterScores: {
629-
'Fire Giant': 1
628+
[EMonster.FIRE_GIANT]: 1
630629
},
631630
minigameReqs: {
632631
barb_assault: 1
@@ -655,7 +654,7 @@ export const KandarinDiary: Diary = {
655654
"Seers' Village Rooftop Course": 1
656655
},
657656
monsterScores: {
658-
'Mithril Dragon': 1
657+
[EMonster.MITHRIL_DRAGON]: 1
659658
}
660659
},
661660
elite: {
@@ -697,7 +696,7 @@ export const KaramjaDiary: Diary = {
697696
},
698697
collectionLogReqs: resolveItems(['Gold ore']),
699698
monsterScores: {
700-
Jogre: 1
699+
[EMonster.JOGRE]: 1
701700
}
702701
},
703702
medium: {
@@ -732,7 +731,7 @@ export const KaramjaDiary: Diary = {
732731
},
733732
collectionLogReqs: resolveItems(['Nature rune', 'Cooked karambwan']),
734733
monsterScores: {
735-
'Steel Dragon': 1
734+
[EMonster.STEEL_DRAGON]: 1
736735
}
737736
},
738737
elite: {
@@ -795,8 +794,8 @@ export const KourendKebosDiary: Diary = {
795794
},
796795
collectionLogReqs: resolveItems(['Adamantite bar']),
797796
monsterScores: {
798-
Wyrm: 1,
799-
'Lizardman Shaman': 1
797+
[EMonster.WYRM]: 1,
798+
[EMonster.LIZARDMAN_SHAMAN]: 1
800799
}
801800
},
802801
elite: {
@@ -816,7 +815,7 @@ export const KourendKebosDiary: Diary = {
816815
},
817816
collectionLogReqs: resolveItems(['Blood rune', 'Redwood logs', 'Dark totem', 'Raw anglerfish']),
818817
monsterScores: {
819-
Hydra: 1
818+
[EMonster.HYDRA]: 1
820819
},
821820
minigameReqs: {
822821
raids: 1
@@ -910,9 +909,9 @@ export const MorytaniaDiary: Diary = {
910909
slayer: 15
911910
},
912911
monsterScores: {
913-
Banshee: 1,
914-
Ghoul: 1,
915-
Werewolf: 1
912+
[EMonster.BANSHEE]: 1,
913+
[EMonster.GHOUL]: 1,
914+
[EMonster.WEREWOLF]: 1
916915
}
917916
},
918917
medium: {
@@ -952,7 +951,7 @@ export const MorytaniaDiary: Diary = {
952951
},
953952
collectionLogReqs: resolveItems(['Watermelon', 'Mahogany logs', 'Mithril ore', 'Mushroom']),
954953
monsterScores: {
955-
'Cave Horror': 1
954+
[EMonster.CAVE_HORROR]: 1
956955
}
957956
},
958957
elite: {
@@ -971,7 +970,7 @@ export const MorytaniaDiary: Diary = {
971970
},
972971
collectionLogReqs: resolveItems(['Raw shark', "Black d'hide body"]),
973972
monsterScores: {
974-
'Abyssal Demon': 1
973+
[EMonster.ABYSSAL_DEMON]: 1
975974
}
976975
}
977976
};
@@ -1058,8 +1057,8 @@ export const WildernessDiary: Diary = {
10581057
},
10591058
collectionLogReqs: resolveItems(["Red spiders' eggs", 'Iron ore']),
10601059
monsterScores: {
1061-
Mammoth: 1,
1062-
'Earth Warrior': 1
1060+
[EMonster.MAMMOTH]: 1,
1061+
[EMonster.EARTH_WARRIOR]: 1
10631062
}
10641063
},
10651064
medium: {
@@ -1076,9 +1075,9 @@ export const WildernessDiary: Diary = {
10761075
},
10771076
collectionLogReqs: resolveItems(['Mithril ore', 'Yew logs']),
10781077
monsterScores: {
1079-
'Green dragon': 1,
1080-
Ankou: 1,
1081-
Bloodveld: 1
1078+
[EMonster.GREEN_DRAGON]: 1,
1079+
[EMonster.ANKOU]: 1,
1080+
[EMonster.BLOODVELD]: 1
10821081
}
10831082
},
10841083
hard: {
@@ -1094,11 +1093,11 @@ export const WildernessDiary: Diary = {
10941093
},
10951094
collectionLogReqs: resolveItems(['Black salamander', 'Adamant scimitar']),
10961095
monsterScores: {
1097-
'Chaos Elemental': 1,
1098-
'Crazy Archaeologist': 1,
1099-
'Chaos Fanatic': 1,
1100-
Scorpia: 1,
1101-
'Spiritual Warrior': 1
1096+
[EMonster.CHAOS_ELEMENTAL]: 1,
1097+
[EMonster.CRAZY_ARCHAEOLOGIST]: 1,
1098+
[EMonster.CHAOS_FANATIC]: 1,
1099+
[EMonster.SCORPIA]: 1,
1100+
[EMonster.SPIRITUAL_WARRIOR]: 1
11021101
}
11031102
},
11041103
elite: {
@@ -1119,9 +1118,9 @@ export const WildernessDiary: Diary = {
11191118
},
11201119
collectionLogReqs: resolveItems(['Rune scimitar', 'Raw dark crab', 'Dark crab', 'Magic logs']),
11211120
monsterScores: {
1122-
Callisto: 1,
1123-
Venenatis: 1,
1124-
"Vet'ion": 1
1121+
[EMonster.CALLISTO]: 1,
1122+
[EMonster.VENENATIS]: 1,
1123+
[EMonster.VETION]: 1
11251124
}
11261125
}
11271126
};

src/lib/minions/types.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
import type { ArrayItemsResolved, Bank, Item, ItemBank, MonsterKillOptions, SimpleMonster } from 'oldschooljs';
1+
import type {
2+
ArrayItemsResolved,
3+
Bank,
4+
EMonster,
5+
Item,
6+
ItemBank,
7+
MonsterKillOptions,
8+
SimpleMonster
9+
} from 'oldschooljs';
210
import type { OffenceGearStat } from 'oldschooljs/gear';
311

412
import type { GearSetupType, XpGainSource } from '@/prisma/main.js';
@@ -170,7 +178,7 @@ export interface DiaryTier {
170178
minigameReqs?: Partial<Record<MinigameName, number>>;
171179
lapsReqs?: Record<string, number>;
172180
qp?: number;
173-
monsterScores?: Record<string, number>;
181+
monsterScores?: Partial<Record<EMonster, number>>;
174182
customReq?: (user: MUser, summary: boolean, stats: MUserStats) => [true] | [false, string];
175183
}
176184
export enum DiaryID {

0 commit comments

Comments
 (0)