diff --git a/packages/greenbox-data/data/items.ts b/packages/greenbox-data/data/items.ts index 182149d..2a5cbd9 100644 --- a/packages/greenbox-data/data/items.ts +++ b/packages/greenbox-data/data/items.ts @@ -1,4 +1,97 @@ export const specialItems = [ + //// Quest Rewards + // Marty's Quest + 2719, // hand-carved bokken + 2720, // hand-carved bow + 2721, // hand-carved staff + + // secret from the future + 4108, // monstrous monocle + 4109, // musty moccasins + 4110, // molten medallion + 4111, // brazen bracelet + 4112, // bitter bowtie + 4113, // bewitching boots + + // Reflection of a Map + 4510, // walrus ice cream + 4511, // beautiful soup + 4512, // eggman noodles + 4513, // Vial of jus de larmes + 4515, // Lobster qua Grill + 4516, // missing wine + 4519, // ittah bittah hookah + + // psychoanalytic jar + 6057, // Meatcleaver + 6067, // Truthsayer + 6108, // Ginsu™ + 6133, // White Dragon Fang + 6146, // Sword of Procedural Generation + 6157, // Byte + 6168, // Bloodbath + + // We All Wear Masks + 7131, // silver cow creamer + 7134, // wolf whistle + 7137, // witch's bra + 7140, // spinning wheel + 7143, // hare pin + + //// Other Items + // Chefstaves + 2578, // Staff of the Short Order Cook + 2601, // Staff of the Midnight Snack + 2602, // Staff of Blood and Pudding + 2722, // Staff of the Greasefire + 2723, // Staff of the Grand Flambé + 2740, // Staff of the Walk-In Freezer + 2749, // Staff of the Grease Trap + 2826, // Staff of the Kitchen Floor + 3390, // Staff of the Deepest Freeze + 3436, // Staff of the Teapot Tempest + 3437, // Staff of the Black Kettle + 3438, // Staff of the Well-Tempered Cauldron + 4165, // Staff of the Soupbone + 5758, // Staff of Holiday Sensations + 5761, // Staff of the Scummy Sink + 6482, // Staff of the Roaring Hearth + 7351, // Staff of the Electric Range + 9894, // Staff of Kitchen Royalty + 10035, // Staff of Frozen Lard + 10424, // Staff of the Peppermint Twist + + // Jack's Swagger Shack + 5656, // Huggler Radio + 5659, // insulting hat + 5660, // offensive moustache + 5661, // hairshirt + 5663, // cursed microwave + 5664, // cursed pony keg + 5668, // bagged stuffed "L" + 5669, // stuffed club + 5674, // stuffed "L" + 8283, // The Cocktail Shaker + 9123, // School of Hard Knocks Diploma + 10207, // [glitch season reward name] + 10325, // Law of Averages + 10640, // Universal Seasoning + + // Ultra rares + 875, // crazy bastard sword + 876, // incredibly dense meat gem + 877, // Talisman of Baio + 878, // hypnodisk + 1236, // hockey stick of furious angry rage + 1519, // Talisman of Bakula + 1687, // Platinum Yendorian Express Card + 1795, // Counterclockwise Watch + 2097, // 17-ball + 2847, // Dallas Dynasty Falcon Crest shield + 6592, // optimal spreadsheet + 7201, // The Nuge's favorite crossbow + 9117, // repaid diaper + //// Hobopolis // Hobo Nickles 3220, // hobo code binder @@ -63,7 +156,6 @@ export const specialItems = [ 3387, // Zombo's skull ring 3388, // Zombo's empty eye 3389, // Frosty's arm - 3390, // Staff of the Deepest Freeze 3391, // Frosty's iceball 3392, // Oscus's garbage can lid 3393, // Oscus's neverending soda diff --git a/packages/greenbox-web/src/components/ItemGridSection.tsx b/packages/greenbox-web/src/components/ItemGridSection.tsx new file mode 100644 index 0000000..5fc29f1 --- /dev/null +++ b/packages/greenbox-web/src/components/ItemGridSection.tsx @@ -0,0 +1,24 @@ +import { useAppSelector } from "../hooks"; +import { selectIdToPlayerItems } from "../store"; + +import ItemGrid from "./ItemGrid"; +import Section from "./Section"; + +type Props = { + title: string; + icon: string; + items: number[]; +}; + +export default function ItemGridSection({ title, icon, items }: Props) { + const playerItems = useAppSelector(selectIdToPlayerItems); + + return ( +
+ playerItems[id]?.[1] ?? 0)} + /> +
+ ); +} diff --git a/packages/greenbox-web/src/components/MainPage.tsx b/packages/greenbox-web/src/components/MainPage.tsx index 286bcf2..1e96988 100644 --- a/packages/greenbox-web/src/components/MainPage.tsx +++ b/packages/greenbox-web/src/components/MainPage.tsx @@ -17,6 +17,8 @@ import { fetchAll, fetchPlayerData, loadPlayerData } from "../store"; import ClanDungeons from "./ClanDungeons"; import General from "./General"; import Header from "./Header"; +import OtherItems from "./OtherItems"; +import QuestRewards from "./QuestRewards"; export default function MainPage() { const [directValue] = useQueryParam("d", StringParam); @@ -87,6 +89,8 @@ export default function MainPage() { General Clan Dungeons + Quest Rewards + Miscellaneous @@ -95,6 +99,12 @@ export default function MainPage() { + + + + + + diff --git a/packages/greenbox-web/src/components/OtherItems.tsx b/packages/greenbox-web/src/components/OtherItems.tsx new file mode 100644 index 0000000..47af13a --- /dev/null +++ b/packages/greenbox-web/src/components/OtherItems.tsx @@ -0,0 +1,81 @@ +import { Accordion } from "@chakra-ui/react"; + +import ItemGridSection from "./ItemGridSection"; + +const RODORIC = [ + 2578, // Staff of the Short Order Cook + 2601, // Staff of the Midnight Snack + 2602, // Staff of Blood and Pudding + 2722, // Staff of the Greasefire + 2723, // Staff of the Grand Flambé + 2740, // Staff of the Walk-In Freezer + 2749, // Staff of the Grease Trap + 2826, // Staff of the Kitchen Floor + 3390, // Staff of the Deepest Freeze + 3436, // Staff of the Teapot Tempest + 3437, // Staff of the Black Kettle + 3438, // Staff of the Well-Tempered Cauldron + 4165, // Staff of the Soupbone + 5758, // Staff of Holiday Sensations + 5761, // Staff of the Scummy Sink + 6482, // Staff of the Roaring Hearth + 7351, // Staff of the Electric Range + 9894, // Staff of Kitchen Royalty + 10035, // Staff of Frozen Lard + 10424, // Staff of the Peppermint Twist +]; + +const SWAGGER = [ + 5656, // Huggler Radio + 5659, // insulting hat + 5660, // offensive moustache + 5661, // hairshirt + 5663, // cursed microwave + 5664, // cursed pony keg + 5668, // bagged stuffed "L" + 5669, // stuffed club + 5674, // stuffed "L" + 8283, // The Cocktail Shaker + 9123, // School of Hard Knocks Diploma + 10207, // [glitch season reward name] + 10325, // Law of Averages + 10640, // Universal Seasoning +]; + +const ULTRA_RARE = [ + 875, // crazy bastard sword + 876, // incredibly dense meat gem + 877, // Talisman of Baio + 878, // hypnodisk + 1236, // hockey stick of furious angry rage + 1519, // Talisman of Bakula + 1687, // Platinum Yendorian Express Card + 1795, // Counterclockwise Watch + 2097, // 17-ball + 2847, // Dallas Dynasty Falcon Crest shield + 6592, // optimal spreadsheet + 7201, // The Nuge's favorite crossbow + 9117, // repaid diaper +]; + +export default function OtherItems() { + return ( + + + + + + ); +} diff --git a/packages/greenbox-web/src/components/QuestRewards.tsx b/packages/greenbox-web/src/components/QuestRewards.tsx new file mode 100644 index 0000000..481ec48 --- /dev/null +++ b/packages/greenbox-web/src/components/QuestRewards.tsx @@ -0,0 +1,78 @@ +import { Accordion } from "@chakra-ui/react"; + +import ItemGridSection from "./ItemGridSection"; + +const MARTY = [ + 2719, // hand-carved bokken + 2720, // hand-carved bow + 2721, // hand-carved staff +]; + +const FUTURE = [ + 4108, // monstrous monocle + 4109, // musty moccasins + 4110, // molten medallion + 4111, // brazen bracelet + 4112, // bitter bowtie + 4113, // bewitching boots +]; + +const REFLECTION = [ + 4510, // walrus ice cream + 4511, // beautiful soup + 4512, // eggman noodles + 4513, // Vial of jus de larmes + 4515, // Lobster qua Grill + 4516, // missing wine + 4519, // ittah bittah hookah +]; + +const PSYCHOANALYTIC = [ + 6057, // Meatcleaver + 6067, // Truthsayer + 6108, // Ginsu™ + 6133, // White Dragon Fang + 6146, // Sword of Procedural Generation + 6157, // Byte + 6168, // Bloodbath +]; + +const GRIMSTONE = [ + 7131, // silver cow creamer + 7134, // wolf whistle + 7137, // witch's bra + 7140, // spinning wheel + 7143, // hare pin +]; + +export default function QuestRewards() { + return ( + + + + + + + + ); +}