From 0728a0c0c44147848530d3cd8909be9ba70e0553 Mon Sep 17 00:00:00 2001 From: Rhea Date: Tue, 3 Dec 2024 15:56:34 -0500 Subject: [PATCH] remove leagues mock items --- scripts/manual_equipment.json | 420 ---------------------------------- src/lib/constants.ts | 16 ++ src/state.tsx | 52 ++++- 3 files changed, 64 insertions(+), 424 deletions(-) diff --git a/scripts/manual_equipment.json b/scripts/manual_equipment.json index 0e256bcb..623284e3 100644 --- a/scripts/manual_equipment.json +++ b/scripts/manual_equipment.json @@ -28,425 +28,5 @@ "ranged": 0 }, "isTwoHanded": false - }, - { - "name": "The dogsword", - "id": 1000000, - "version": "", - "slot": "weapon", - "image": "The dogsword.png", - "speed": 6, - "category": "2h Sword", - "bonuses": { - "str": 132, - "ranged_str": 0, - "magic_str": 0, - "prayer": 8 - }, - "offensive": { - "stab": 0, - "slash": 132, - "crush": 80, - "magic": 0, - "ranged": 0 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": true - }, - { - "name": "Sunlight spear", - "id": 1000001, - "version": "", - "slot": "weapon", - "image": "Sunlight spear.png", - "speed": 5, - "category": "Spear", - "bonuses": { - "str": 113, - "ranged_str": 0, - "magic_str": 0, - "prayer": 0 - }, - "offensive": { - "stab": 125, - "slash": 75, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "defensive": { - "stab": 70, - "slash": 70, - "crush": 70, - "magic": 28, - "ranged": 70 - }, - "isTwoHanded": false - }, - { - "name": "Devil's element", - "id": 1000002, - "version": "", - "slot": "shield", - "image": "Devil's element.png", - "speed": 0, - "category": "", - "bonuses": { - "str": 0, - "ranged_str": 0, - "magic_str": 60, - "prayer": 3 - }, - "offensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 20, - "ranged": 0 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": false - }, - { - "name": "Drygore blowpipe", - "id": 1000003, - "version": "Empty", - "slot": "weapon", - "image": "Drygore blowpipe.png", - "speed": 3, - "category": "Thrown", - "bonuses": { - "str": 0, - "ranged_str": 0, - "magic_str": 0, - "prayer": 0 - }, - "offensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 50 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": false - }, - { - "name": "Drygore blowpipe", - "id": 1000004, - "version": "Loaded", - "slot": "weapon", - "image": "Drygore blowpipe.png", - "speed": 3, - "category": "Thrown", - "bonuses": { - "str": 0, - "ranged_str": 10, - "magic_str": 0, - "prayer": 0 - }, - "offensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 50 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": true - }, - { - "name": "Amulet of the monarchs", - "id": 1000005, - "version": "", - "slot": "neck", - "image": "Amulet of the monarchs.png", - "speed": 0, - "category": "", - "bonuses": { - "str": 15, - "ranged_str": 15, - "magic_str": 100, - "prayer": 10 - }, - "offensive": { - "stab": 30, - "slash": 30, - "crush": 30, - "magic": 30, - "ranged": 30 - }, - "defensive": { - "stab": 30, - "slash": 30, - "crush": 30, - "magic": 30, - "ranged": 30 - }, - "isTwoHanded": false - }, - { - "name": "Emperor ring", - "id": 1000006, - "version": "", - "slot": "ring", - "image": "Emperor ring.png", - "speed": 0, - "category": "", - "bonuses": { - "str": 15, - "ranged_str": 15, - "magic_str": 50, - "prayer": 10 - }, - "offensive": { - "stab": 30, - "slash": 30, - "crush": 30, - "magic": 30, - "ranged": 30 - }, - "defensive": { - "stab": 30, - "slash": 30, - "crush": 30, - "magic": 30, - "ranged": 30 - }, - "isTwoHanded": false - }, - { - "name": "Gloves of the damned", - "id": 1000007, - "version": "", - "slot": "hands", - "image": "Gloves of the damned.png", - "speed": 0, - "category": "", - "bonuses": { - "str": 12, - "ranged_str": 0, - "magic_str": 0, - "prayer": 0 - }, - "offensive": { - "stab": 12, - "slash": 12, - "crush": 12, - "magic": 6, - "ranged": 12 - }, - "defensive": { - "stab": 12, - "slash": 12, - "crush": 12, - "magic": 6, - "ranged": 12 - }, - "isTwoHanded": false - }, - { - "name": "Thousand-dragon ward", - "id": 1000008, - "version": "", - "slot": "shield", - "image": "Thousand-dragon ward.png", - "speed": 0, - "category": "", - "bonuses": { - "str": 12, - "ranged_str": 0, - "magic_str": 0, - "prayer": 6 - }, - "offensive": { - "stab": 35, - "slash": 35, - "crush": 35, - "magic": 15, - "ranged": 25 - }, - "defensive": { - "stab": 50, - "slash": 55, - "crush": 53, - "magic": 40, - "ranged": 52 - }, - "isTwoHanded": false - }, - { - "name": "Crystal blessing", - "id": 1000009, - "version": "", - "slot": "ammo", - "image": "Crystal blessing.png", - "speed": 0, - "category": "", - "bonuses": { - "str": 0, - "ranged_str": 0, - "magic_str": 0, - "prayer": 5 - }, - "offensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": false - }, - { - "name": "Sunlit bracers", - "id": 1000010, - "version": "", - "slot": "hands", - "image": "Sunlit bracers.png", - "speed": 0, - "category": "", - "bonuses": { - "str": 8, - "ranged_str": 4, - "magic_str": 0, - "prayer": 0 - }, - "offensive": { - "stab": 10, - "slash": 10, - "crush": 10, - "magic": 6, - "ranged": 18 - }, - "defensive": { - "stab": 12, - "slash": 12, - "crush": 12, - "magic": 6, - "ranged": 12 - }, - "isTwoHanded": false - }, - { - "name": "Thunder khopesh", - "id": 1000011, - "version": "", - "slot": "weapon", - "image": "Thunder khopesh.png", - "speed": 4, - "category": "Slash Sword", - "bonuses": { - "str": 100, - "ranged_str": 0, - "magic_str": 0, - "prayer": 0 - }, - "offensive": { - "stab": 65, - "slash": 110, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": false - }, - { - "name": "Nature's reprisal", - "id": 1000012, - "version": "Charged", - "slot": "weapon", - "image": "Nature's reprisal.png", - "speed": 5, - "category": "Multi-Style", - "bonuses": { - "str": 103, - "ranged_str": 92, - "magic_str": 120, - "prayer": 0 - }, - "offensive": { - "stab": 95, - "slash": 0, - "crush": 0, - "magic": 45, - "ranged": 155 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": false - }, - { - "name": "Nature's Reprisal", - "id": 1000013, - "version": "Uncharged", - "slot": "weapon", - "image": "Nature's reprisal.png", - "speed": 5, - "category": "Multi-Style", - "bonuses": { - "str": 60, - "ranged_str": 20, - "magic_str": 0, - "prayer": 0 - }, - "offensive": { - "stab": 70, - "slash": 0, - "crush": 0, - "magic": 15, - "ranged": 30 - }, - "defensive": { - "stab": 0, - "slash": 0, - "crush": 0, - "magic": 0, - "ranged": 0 - }, - "isTwoHanded": false } ] diff --git a/src/lib/constants.ts b/src/lib/constants.ts index d9acb7db..33d76a5c 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -428,3 +428,19 @@ export const HUEYCOATL_IDS = [ export const HUEYCOATL_PHASES = ['Without Pillar', 'With Pillar']; export const HUEYCOATL_PHASE_IDS = [...HUEYCOATL_HEAD_IDS, ...HUEYCOATL_TAIL_IDS]; // body can't receive pillar buff HUEYCOATL_PHASE_IDS.forEach((id) => { MONSTER_PHASES_BY_ID[id] = HUEYCOATL_PHASES; }); + +export const LEAGUES_FIVE_MOCK_ID_MAPPINGS: { [k: number]: number } = { + 1000000: 30367, // the dogsword + 1000001: 30369, // sunlight spear + 1000002: 30371, // devil's element + 1000003: 30373, // drygore blowpipe#empty + 1000004: 30374, // drygore blowpipe#charged + 1000005: 30376, // amulet of the monarchs + 1000006: 30378, // emperor ring + 1000007: 30380, // gloves of the damned + 1000008: 30382, // thousand-dragon ward + 1000009: 30384, // crystal blessing + 1000010: 30386, // sunlit bracers + 1000012: 30390, // nature's reprisal#charged + 1000013: 30392, // nature's reprisal#uncharged +}; diff --git a/src/state.tsx b/src/state.tsx index a79d0dec..036adbcf 100644 --- a/src/state.tsx +++ b/src/state.tsx @@ -5,7 +5,15 @@ import React, { createContext, useContext } from 'react'; import { PartialDeep } from 'type-fest'; import * as localforage from 'localforage'; import { - CalculatedLoadout, Calculator, IMPORT_VERSION, ImportableData, PlayerVsNPCCalculatedLoadout, Preferences, State, UI, UserIssue, + CalculatedLoadout, + Calculator, + IMPORT_VERSION, + ImportableData, + PlayerVsNPCCalculatedLoadout, + Preferences, + State, + UI, + UserIssue, } from '@/types/State'; import merge from 'lodash.mergewith'; import { @@ -15,18 +23,32 @@ import { Monster } from '@/types/Monster'; import { MonsterAttribute } from '@/enums/MonsterAttribute'; import { toast } from 'react-toastify'; import { - fetchPlayerSkills, fetchShortlinkData, getCombatStylesForCategory, PotionMap, + fetchPlayerSkills, + fetchShortlinkData, + getCombatStylesForCategory, + keys, + PotionMap, } from '@/utils'; import { ComputeBasicRequest, ComputeReverseRequest, WorkerRequestType } from '@/worker/CalcWorkerTypes'; import { getMonsters, INITIAL_MONSTER_INPUTS } from '@/lib/Monsters'; import { availableEquipment, calculateEquipmentBonusesFromGear } from '@/lib/Equipment'; import { CalcWorker } from '@/worker/CalcWorker'; import { spellByName } from '@/types/Spell'; -import { DEFAULT_ATTACK_SPEED, NATURES_REPRISAL_MOCK_ID, NUMBER_OF_LOADOUTS } from '@/lib/constants'; +import { + DEFAULT_ATTACK_SPEED, + LEAGUES_FIVE_MOCK_ID_MAPPINGS, + NATURES_REPRISAL_MOCK_ID, + NUMBER_OF_LOADOUTS, +} from '@/lib/constants'; import { defaultLeaguesState } from '@/lib/LeaguesV'; import { EquipmentCategory } from './enums/EquipmentCategory'; import { - ARM_PRAYERS, BRAIN_PRAYERS, DEFENSIVE_PRAYERS, OFFENSIVE_PRAYERS, OVERHEAD_PRAYERS, Prayer, + ARM_PRAYERS, + BRAIN_PRAYERS, + DEFENSIVE_PRAYERS, + OFFENSIVE_PRAYERS, + OVERHEAD_PRAYERS, + Prayer, } from './enums/Prayer'; import Potion from './enums/Potion'; import { startPollingForRuneLite, WikiSyncer } from './wikisync/WikiSyncer'; @@ -463,6 +485,28 @@ class GlobalState implements State { } }); + case 4: + data.loadouts.forEach((l, ix) => { + if (l.equipment) { + for (const slot of keys(l.equipment)) { + const eq = l.equipment[slot]; + if (!eq?.id) { + continue; + } + + const newId = LEAGUES_FIVE_MOCK_ID_MAPPINGS[eq.id]; + if (newId) { + console.info('mock id migration', { + ix, + slot, + oldId: eq.id, + newId, + }); + } + } + } + }); + default: } /* eslint-enable no-fallthrough */