Skip to content

Commit ffef8b7

Browse files
committed
Add more recommended setups and gear progression data
1 parent 0e0aae6 commit ffef8b7

File tree

5 files changed

+756
-180
lines changed

5 files changed

+756
-180
lines changed

src/components/RecommendedSetupModal.tsx

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import '../styles/recommended-setup.css';
2-
import { Button, clamp, nativeKeyboardEventHandler as keyEventHandler, Overlay, ReactPortal, Stack, Text, TooltipWrapper } from '@zigurous/forge-react'; // prettier-ignore
2+
import { Button, clamp, nativeKeyboardEventHandler as keyEventHandler, Overlay, Stack, Text, TooltipWrapper, useIsomorphicLayoutEffect } from '@zigurous/forge-react'; // prettier-ignore
33
import React, { useCallback, useEffect, useState } from 'react';
4+
import { createPortal } from 'react-dom';
45
import EquipmentInventory from './EquipmentInventory';
56
import ItemInventory from './ItemInventory';
67
import WikiIcon from './WikiIcon';
@@ -54,6 +55,15 @@ export default function RecommendedSetupModal({
5455
};
5556
}, [setup.loadouts.length, previousLoadout, nextLoadout]);
5657

58+
const [runePouch, setRunePouch] = useState<Element | null>(null);
59+
useIsomorphicLayoutEffect(() => {
60+
setRunePouch(
61+
document.querySelector(
62+
'.modal#recommended-setup .item-frame[id*=Rune_pouch i]',
63+
),
64+
);
65+
}, [loadoutIndex, currentLoadout?.spell, currentLoadout?.title]);
66+
5767
return (
5868
<Overlay
5969
className="modal modal--md"
@@ -158,15 +168,16 @@ export default function RecommendedSetupModal({
158168
)}
159169
</Stack>
160170
</div>
161-
{currentLoadout?.spell && (
162-
<ReactPortal rootElement=".modal#recommended-setup .item-frame[id*=Rune_pouch i]">
171+
{runePouch &&
172+
currentLoadout?.spell &&
173+
createPortal(
163174
<WikiIcon
164175
className="recommended-setup__spell"
165176
icon={currentLoadout.spell}
166177
size={16}
167-
/>
168-
</ReactPortal>
169-
)}
178+
/>,
179+
runePouch,
180+
)}
170181
</Overlay>
171182
);
172183
}

src/data/equipment.json

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2234,6 +2234,17 @@
22342234
{ "skill": "hunter", "level": 50 }
22352235
]
22362236
},
2237+
{
2238+
"id": "Ice_ancient_sceptre",
2239+
"slot": "weapon",
2240+
"tags": ["1h"],
2241+
"regions": ["fremennik/desert"],
2242+
"requirements": [
2243+
{ "skill": "magic", "level": 75 },
2244+
{ "skill": "strength", "level": 60 },
2245+
{ "skill": "attack", "level": 50 }
2246+
]
2247+
},
22372248
{
22382249
"id": "Iban's_staff",
22392250
"slot": "weapon",
@@ -3334,6 +3345,11 @@
33343345
"slot": "ring",
33353346
"regions": ["all"]
33363347
},
3348+
{
3349+
"id": "Ring_of_recoil",
3350+
"slot": "ring",
3351+
"regions": ["all"]
3352+
},
33373353
{
33383354
"id": "Ring_of_shadows",
33393355
"slot": "ring",
@@ -3522,7 +3538,7 @@
35223538
"regions": ["morytania"]
35233539
},
35243540
{
3525-
"id": "Salve_amulet_(ei)",
3541+
"id": "Salve_amulet(ei)",
35263542
"slot": "neck",
35273543
"regions": ["morytania"]
35283544
},
@@ -3652,6 +3668,15 @@
36523668
{ "skill": "prayer", "level": 20 }
36533669
]
36543670
},
3671+
{
3672+
"id": "Saradomin_staff",
3673+
"slot": "weapon",
3674+
"tags": ["1h"],
3675+
"regions": ["all"],
3676+
"requirements": [
3677+
{ "skill": "magic", "level": 60 }
3678+
]
3679+
},
36553680
{
36563681
"id": "Saradomin_stole",
36573682
"slot": "neck",
@@ -4511,6 +4536,34 @@
45114536
{ "skill": "prayer", "level": 22 }
45124537
]
45134538
},
4539+
{
4540+
"id": "Void_knight_robe",
4541+
"slot": "legs",
4542+
"regions": ["asgarnia"],
4543+
"requirements": [
4544+
{ "skill": "attack", "level": 42 },
4545+
{ "skill": "strength", "level": 42 },
4546+
{ "skill": "defence", "level": 42 },
4547+
{ "skill": "ranged", "level": 42 },
4548+
{ "skill": "magic", "level": 42 },
4549+
{ "skill": "hitpoints", "level": 42 },
4550+
{ "skill": "prayer", "level": 22 }
4551+
]
4552+
},
4553+
{
4554+
"id": "Void_knight_top",
4555+
"slot": "body",
4556+
"regions": ["asgarnia"],
4557+
"requirements": [
4558+
{ "skill": "attack", "level": 42 },
4559+
{ "skill": "strength", "level": 42 },
4560+
{ "skill": "defence", "level": 42 },
4561+
{ "skill": "ranged", "level": 42 },
4562+
{ "skill": "magic", "level": 42 },
4563+
{ "skill": "hitpoints", "level": 42 },
4564+
{ "skill": "prayer", "level": 22 }
4565+
]
4566+
},
45144567
{
45154568
"id": "Void_mage_helm",
45164569
"slot": "hands",

0 commit comments

Comments
 (0)