Finished warlords stats
This commit is contained in:
@@ -7,6 +7,7 @@ import GeneralStats from "../GeneralStats"
|
||||
import { WarlordsWeaponsBar } from "./client"
|
||||
import WarlordsGeneralStats from "./stats"
|
||||
import { WarlordsClassStatsTable, WarlordsModeStatsTable } from "./table"
|
||||
import WarlordsWeaponsList from "./weapons"
|
||||
|
||||
export default function WarlordsStats({ stats }: { stats: NonNullStats["Warlords"] }) {
|
||||
if (!stats) return null
|
||||
@@ -44,6 +45,8 @@ export default function WarlordsStats({ stats }: { stats: NonNullStats["Warlords
|
||||
<Separator className="my-4" />
|
||||
<WarlordsWeaponsBar stats={stats} />
|
||||
<Separator className="my-4" />
|
||||
<WarlordsWeaponsList weapons={stats.weapon_inventory} />
|
||||
<Separator className="my-4" />
|
||||
<WarlordsClassStatsTable stats={stats} />
|
||||
<Separator className="my-4" />
|
||||
<WarlordsModeStatsTable stats={stats} />
|
||||
|
||||
41
src/app/(stats)/player/[ign]/_stats/warlords/weapons.tsx
Normal file
41
src/app/(stats)/player/[ign]/_stats/warlords/weapons.tsx
Normal file
@@ -0,0 +1,41 @@
|
||||
import {
|
||||
getWarlordsPlayerClass,
|
||||
getWarlordsWeaponMaterial,
|
||||
getWarlordsWeaponPrefix,
|
||||
getWarlordsWeaponRarityColor
|
||||
} from "@/lib/hypixel/warlords/general"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
|
||||
export default function WarlordsWeaponsList({ weapons }: { weapons: NonNullable<NonNullStats["Warlords"]>["weapon_inventory"] }) {
|
||||
return (
|
||||
<div>
|
||||
<p className="font-bold">Weapon Inventory</p>
|
||||
{weapons !== undefined ?
|
||||
(
|
||||
<div>
|
||||
{weapons.map((w, i) => {
|
||||
return <Weapon key={i} data={w} />
|
||||
})}
|
||||
</div>
|
||||
) :
|
||||
<p>This person has no weapons.</p>}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function Weapon({ data }: { data: NonNullable<NonNullable<NonNullStats["Warlords"]>["weapon_inventory"]>[number] }) {
|
||||
const score = data.damage * (1 + data.upgradeTimes * 0.075)
|
||||
+ data.chance
|
||||
+ data.multiplier
|
||||
+ data.abilityBoost * (1 + data.upgradeTimes * 0.075)
|
||||
+ data.health * (1 + data.upgradeTimes * 0.25)
|
||||
+ data.energy * (1 + data.upgradeTimes * 0.1)
|
||||
+ data.cooldown * (1 + data.upgradeTimes * 0.075)
|
||||
+ data.movement * (1 + data.upgradeTimes * 0.075)
|
||||
|
||||
const prefix = getWarlordsWeaponPrefix(score, data.category) ?? "Unknown"
|
||||
const material = getWarlordsWeaponMaterial(data.material) ?? "Unknown"
|
||||
const playerClass = getWarlordsPlayerClass(0, 0) ?? "Unknown"
|
||||
const rarityColor = getWarlordsWeaponRarityColor(data.category)
|
||||
return <p className={`text-mc-${rarityColor}`}>{`${prefix} ${material} of the ${playerClass}`}</p>
|
||||
}
|
||||
Reference in New Issue
Block a user