Files
eveship.fit.react/src/ShipStatistics/ShipStatistics.tsx
2023-11-19 11:12:21 +00:00

128 lines
3.7 KiB
TypeScript

import React from "react";
import { ShipAttribute } from '../ShipAttribute';
import { Category, CategoryLine } from "./Category";
import { Resistance } from "./Resistance";
/**
* Render ship statistics similar to how it is done in-game.
*/
export const ShipStatistics = () => {
return <div>
<Category headerLabel="Capacitor" headerContent={
<span>Stable</span>
}>
<CategoryLine>
<span>
<ShipAttribute name="capacity" fixed={0} /> GJ / ? s
</span>
</CategoryLine>
<CategoryLine>
<span>
? GJ/s (100.0%)
</span>
</CategoryLine>
</Category>
<Category headerLabel="Offense" headerContent={
<span>? dps</span>
}>
<CategoryLine>
<span>
? dps
</span>
<span>
? HP
</span>
</CategoryLine>
</Category>
<Category headerLabel="Defense" headerContent={
<span><ShipAttribute name="ehp" fixed={0} /> ehp</span>
}>
<CategoryLine>
No module
</CategoryLine>
<CategoryLine>
<span>
S
<ShipAttribute name="shieldCapacity" fixed={0} /> hp
</span>
<span style={{flex: 2}}>
<Resistance name="shieldEmDamageResonance" />
<Resistance name="shieldThermalDamageResonance" />
<Resistance name="shieldKineticDamageResonance" />
<Resistance name="shieldExplosiveDamageResonance" />
</span>
</CategoryLine>
<CategoryLine>
<span>
A
<ShipAttribute name="armorHP" fixed={0} /> hp
</span>
<span style={{flex: 2}}>
<Resistance name="armorEmDamageResonance" />
<Resistance name="armorThermalDamageResonance" />
<Resistance name="armorKineticDamageResonance" />
<Resistance name="armorExplosiveDamageResonance" />
</span>
</CategoryLine>
<CategoryLine>
<span>
S
<ShipAttribute name="hp" fixed={0} /> hp
</span>
<span style={{flex: 2}}>
<Resistance name="emDamageResonance" />
<Resistance name="thermalDamageResonance" />
<Resistance name="kineticDamageResonance" />
<Resistance name="explosiveDamageResonance" />
</span>
</CategoryLine>
</Category>
<Category headerLabel="Targeting" headerContent={
<span><ShipAttribute name="maxTargetRange" fixed={2} divideBy={1000} /> km</span>
}>
<CategoryLine>
<span title="Scan Strength">
<ShipAttribute name="scanStrength" fixed={2} /> points
</span>
<span title="Scan Resolution">
<ShipAttribute name="scanResolution" fixed={0} /> mm
</span>
</CategoryLine>
<CategoryLine>
<span title="Signature Radius">
<ShipAttribute name="signatureRadius" fixed={0} /> m
</span>
<span title="Maximum Locked Targets">
<ShipAttribute name="maxLockedTargets" fixed={0} />x
</span>
</CategoryLine>
</Category>
<Category headerLabel="Navigation" headerContent={
<span><ShipAttribute name="maxVelocity" fixed={1} /> m/s</span>
}>
<CategoryLine>
<span title="Mass">
<ShipAttribute name="mass" fixed={2} /> t
</span>
<span title="Inertia Modifier">
<ShipAttribute name="agility" fixed={4} />x
</span>
</CategoryLine>
<CategoryLine>
<span title="Ship Warp Speed">
<ShipAttribute name="warpSpeedMultiplier" fixed={2} /> AU/s
</span>
<span title="Align Time">
<ShipAttribute name="alignTime" fixed={2} />s
</span>
</CategoryLine>
</Category>
</div>
};