import { gql, request } from "graphql-request";
import { Config } from "../../../config/types";
import { Logger } from "../../../logger/types";
import { ToolItemResponse, ToolItemServerResponse } from "../types";
export class AmmoLoader {
constructor(
private config: Config,
private logger: Logger,
) {}
async load() {
const query = gql`
{
ammo(lang: ${this.config.lang}) {
accuracyModifier
ammoType
armorDamage
caliber
damage
fragmentationChance
heavyBleedModifier
initialSpeed
lightBleedModifier
penetrationChance
penetrationPower
penetrationPowerDeviation
projectileCount
recoilModifier
ricochetChance
stackMaxSize
staminaBurnPerDamage
tracer
tracerColor
weight
}
}
`;
const response = await request<ToolItemServerResponse>(
this.config.apiEndpoint,
query,
);
return response;
}
}