import { formatUnits } from "viem"; import { usePlayer } from "../providers/PlayerProvider"; import styles from "../styles/Modal.module.css"; import bgStyles from "../styles/Background.module.css"; import { bossToName, bossToReward } from "./BossInfo"; import { bossLevelToClass } from "./Boss"; import { lostSound, wonSound } from "../utils/soundsEffect"; interface BossOutcomeModalProps { setIsOpen: (val: boolean) => void; } const BossOutcomeModal = ({ setIsOpen }: BossOutcomeModalProps) => { const { lastBossResult } = usePlayer(); if (lastBossResult == null) return null; const outcome = lastBossResult.reward != BigInt(0); const ascended = lastBossResult.prestigeGained; if (outcome) { wonSound(); } else { lostSound(); } const text = outcome ? ( and you won! 🤩 ) : ( and you lost 😔 ); const rewardAmount = parseFloat( parseFloat( formatUnits(bossToReward[lastBossResult.level], 18).toString() ).toFixed(4) ); const rewardText = ascended ? (

You won {rewardAmount} RGCVII and{" "} ASCENDED!!!. This means you beat the bosses and gained a{" "} Prestige level. Your GELD is now forfeit, but your legend lives on.

) : outcome ? (

You won {rewardAmount} RGCVII

) : (

Your GELD is now forfeit.
Try again 💪 we know you can do it!

); const bossName = bossToName[lastBossResult.variant]; const bossClass = bossLevelToClass[lastBossResult.variant]; return (

You battled {bossName} Moloch!

{text}

{rewardText}
); }; export default BossOutcomeModal;