Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 15 additions & 6 deletions components/stats/SmallGraph.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Defense, ReefscapeEnums } from "@/lib/Enums";
import { Defense, RebuiltEnums } from "@/lib/Enums";
import { Report } from "@/lib/Types";
import ClientApi from "@/lib/api/ClientApi";

Expand Down Expand Up @@ -86,15 +86,24 @@ export default function SmallGraph(props: {
case Defense.Full:
return 1;
}
} else if (key === "EndgameClimbStatus") {
} else if (key === "LevelClimbed") {
///switch (data) {
//case ReefscapeEnums.EndgameClimbStatus.None:
//return 0;
//case ReefscapeEnums.EndgameClimbStatus.Park:
//return 0.33;
//case ReefscapeEnums.EndgameClimbStatus.High:
//return 0.66;
//case ReefscapeEnums.EndgameClimbStatus.Low:
//return 1;
switch (data) {
case ReefscapeEnums.EndgameClimbStatus.None:
case RebuiltEnums.LevelClimbed.No:
return 0;
case ReefscapeEnums.EndgameClimbStatus.Park:
case RebuiltEnums.LevelClimbed.First:
return 0.33;
case ReefscapeEnums.EndgameClimbStatus.High:
case RebuiltEnums.LevelClimbed.Second:
return 0.66;
case ReefscapeEnums.EndgameClimbStatus.Low:
case RebuiltEnums.LevelClimbed.Third:
return 1;
}
}
Expand Down
38 changes: 37 additions & 1 deletion lib/Enums.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,42 @@ export namespace ReefscapeEnums {
}
}

export namespace RebuiltEnums {
export enum ClimbingAbilities {
No = "No",
FirstLevel = "FirstLevel",
SecondLevel = "SecondLevel",
ThirdLevel = "ThirdLevel",
}

export enum DriveOverBump {
No = "No",
Slow = "Slow",
Fast = "Fast",
}

export enum DriveUnderTrench {
No = "No",
Slow = "Slow",
Fast = "Fast",
}

export enum LevelClimbed {
No = "No",
First = "First",
Second = "Second",
Third = "Third",
}

export enum AutoAbilities {
NoAuto = "No Auto",
MovePastStart = "Move Past Start",
ClimbLevelOne = "Climb Level One",
ScoreOneOrMoreFuel = "Score One Or More Fuel",
ScoreFuelAndClimb = "Score Fuel And Climb",
}
}

export namespace DecodeEnums {
export enum EndgameParkStatus {
No = "No",
Expand All @@ -118,7 +154,7 @@ export namespace DecodeEnums {
TwoBotPark = "Two Bot Park",
}

export enum AutoCapabilities {
export enum AutoStatus {
NoAuto = "No Auto",
MovePastStart = "Move Past Start",
ScoreOneArtifact = "Score One Artifact",
Expand Down
9 changes: 9 additions & 0 deletions lib/Gearbox.code-workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"folders": [
{
"name": "Gearbox",
"path": "..",
},
],
"settings": {},
}
16 changes: 14 additions & 2 deletions lib/Layout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
IntoTheDeepEnums,
FtcDrivetrain,
ReefscapeEnums,
RebuiltEnums,
DecodeEnums,
} from "./Enums";
import { PitReportData, QuantData, Pitreport, Report, League } from "./Types";
Expand Down Expand Up @@ -218,7 +219,12 @@ export function keyToType(
ReefscapeEnums.Climbing,
ReefscapeEnums.DriveThroughDeepCage,
ReefscapeEnums.EndgameClimbStatus,
DecodeEnums.AutoCapabilities,
RebuiltEnums.AutoAbilities,
RebuiltEnums.ClimbingAbilities,
RebuiltEnums.DriveOverBump,
RebuiltEnums.DriveUnderTrench,
RebuiltEnums.LevelClimbed,
DecodeEnums.AutoStatus,
DecodeEnums.EndgameParkStatus,
];

Expand All @@ -234,8 +240,14 @@ export function keyToType(
if (key == "DriveThroughDeepCage") return ReefscapeEnums.DriveThroughDeepCage;
if (key == "EndgameClimbStatus") return ReefscapeEnums.EndgameClimbStatus;

if (key == "AutoAbilities") return RebuiltEnums.AutoAbilities;
if (key == "ClimbingAbilities") return RebuiltEnums.ClimbingAbilities;
if (key == "DriveOverBump") return RebuiltEnums.DriveOverBump;
if (key == "DiveUnderTrench") return RebuiltEnums.DriveUnderTrench;
if (key == "LevelClimbed") return RebuiltEnums.LevelClimbed;

if (key == "EndgameParkStatusDecode") return DecodeEnums.EndgameParkStatus;
if (key == "AutoAbilities") return DecodeEnums.AutoCapabilities;
if (key == "AutoStatus") return DecodeEnums.AutoStatus;

for (const e of enums) {
if (Object.values(e).includes(exampleData[key])) return e;
Expand Down
2 changes: 1 addition & 1 deletion lib/api/ClientApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import {
assignScoutersToCompetitionMatches,
generateReportsForMatch,
} from "../CompetitionHandling";
import { CenterStage, Crescendo, games, IntoTheDeep } from "../games";
import { CenterStage, Crescendo, games, IntoTheDeep, Rebuilt } from "../games";
import { Statbotics } from "../Statbotics";
import { TheBlueAlliance } from "../TheBlueAlliance";
import { SlackNotLinkedError } from "./Errors";
Expand Down
3 changes: 2 additions & 1 deletion lib/client/GameId.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ export enum GameId {
CenterStage = "CenterStage",
IntoTheDeep = "IntoTheDeep",
Reefscape = "Reefscape",
Rebuilt = "Rebuilt",
Decode = "Decode",
}

export const defaultGameId = GameId.Reefscape;
export const defaultGameId = GameId.Rebuilt;
14 changes: 8 additions & 6 deletions lib/client/StatsMath.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ export function NumericalTotal<T extends QuantData>(
reports: Report<T>[],
) {
let sum = 0;
reports?.forEach((report) => (sum += getSelection(selector, report)));
reports?.forEach(
(report) => (sum += Number(getSelection(selector, report) || 0)),
);
return Round(sum);
}

Expand Down Expand Up @@ -158,10 +160,10 @@ export function GetMinimum(
stat: string,
) {
if (!quantitativeReports) return 0;
let minimum = quantitativeReports[0].data[stat];
let minimum = Number(quantitativeReports[0].data[stat]);
for (let repo of quantitativeReports) {
if (repo.data[stat] < minimum) {
minimum = repo.data[stat];
if (Number(repo.data[stat]) < minimum) {
minimum = Number(repo.data[stat]);
}
}
return minimum;
Expand All @@ -175,8 +177,8 @@ export function GetMaximum(
if (!quantitativeReports) return 0;
let maximum = 0;
for (let repo of quantitativeReports) {
if (repo.data[stat] > maximum) {
maximum = repo.data[stat];
if (Number(repo.data[stat]) > maximum) {
maximum = Number(repo.data[stat]);
}
}
return maximum;
Expand Down
Loading