forked from phenom/healer-man
Complete RoM pair elite mechanics and creature family rules
This commit is contained in:
1 parent
c8b3a3d95a
commit
0206fda9e2
21 files changed
+1082
-134
No files matched your search
@@ -40,23 +40,26 @@ describe("generated RuneWaker player catalog", () => {
|
||||
expect(audit.hashes.interfaceFdb).toMatch(/^[a-f0-9]{64}$/);
|
||||
});
|
||||
|
||||
it("resolves every ordered pair to all ten executable elite milestones", () => {
|
||||
expect(ROM_ELITE_ABILITIES).toHaveLength(660);
|
||||
it("resolves every ordered pair to all ten elite milestones and the source-backed Devotion Halo", () => {
|
||||
expect(ROM_ELITE_ABILITIES).toHaveLength(661);
|
||||
const pairGroups = new Map<string, typeof ROM_ELITE_ABILITIES[number][]>();
|
||||
for (const ability of ROM_ELITE_ABILITIES) {
|
||||
const key = `${ability.classId}:${ability.secondaryClassId}`;
|
||||
pairGroups.set(key, [...(pairGroups.get(key) ?? []), ability]);
|
||||
}
|
||||
expect(pairGroups.size).toBe(66);
|
||||
for (const elites of pairGroups.values()) {
|
||||
expect(elites.map((ability) => ability.unlockLevel)).toEqual(ELITE_LEVELS);
|
||||
for (const [pair, elites] of pairGroups) {
|
||||
expect(elites.map((ability) => ability.unlockLevel)).toEqual(pair === "rom-priest:rom-knight"
|
||||
? [...ELITE_LEVELS, 70] : ELITE_LEVELS);
|
||||
expect(elites.every((ability) => ability.source === "runewaker" && ability.effects.length > 0)).toBe(true);
|
||||
}
|
||||
expect(ROM_ALL_ABILITIES).toHaveLength(929);
|
||||
expect(ROM_ALL_ABILITIES.every((ability) => (
|
||||
expect(ROM_ALL_ABILITIES).toHaveLength(930);
|
||||
expect(ROM_ALL_ABILITIES.filter((ability) => ability.id !== "rom-priest-rom-knight-elite-70-devotion-halo").every((ability) => (
|
||||
/^\/assets\/ui\/rom-spells\/\d+\.png$/.test(ability.icon)
|
||||
&& ability.icon === generated.skills.find((skill) => skill.id === ability.id)?.icon
|
||||
))).toBe(true);
|
||||
expect(ROM_ALL_ABILITIES.find((ability) => ability.id === "rom-priest-rom-knight-elite-70-devotion-halo")?.icon)
|
||||
.toBe(generated.skills.find((skill) => skill.sourceSkillId === 499957)?.icon);
|
||||
expect(generated.skills.every((ability) => (
|
||||
ability.iconResolution === "native-interface-fdb"
|
||||
&& /^\/assets\/ui\/rom-spells\/\d+\.png$/.test(ability.icon)
|
||||
|
||||
Reference in new issue
Block a user