mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
oh my god this is hideous
This commit is contained in:
1 parent
11c2c9749c
commit
1733180f2c
3 files changed
+270
-36
No files matched your search
@@ -1,10 +1,257 @@
|
||||
export type ProvisionConsumableScript = {
|
||||
interface ProvisionConsumableScript {
|
||||
attribute?: string;
|
||||
bonusValues?: BonusValuesClass | string;
|
||||
"#text": string;
|
||||
|
||||
cooldown?: number;
|
||||
piercingFactors?: PiercingFactors;
|
||||
modulesHealthFactors?: ModulesHealthFactorsClass | string;
|
||||
rammingAbsorptionPercent?: number | string;
|
||||
chancesToHit?: ChancesToHitChancesToHit | string;
|
||||
largeCaliberHighExplosiveDamageFactor?: number;
|
||||
largeCaliberHighExplosivePiercingFactor?: number;
|
||||
maxHpBonusPercent?: number;
|
||||
modules?: string;
|
||||
visionRadiusPercentageBonus?: Bonus;
|
||||
activateWhenStillSec?: number;
|
||||
activateBonusFactor?: number;
|
||||
bonus?: Bonus;
|
||||
bonusPercentage?: BonusPercentage;
|
||||
enginePowerPercentageBonus?: Bonus;
|
||||
weight?: number;
|
||||
automatic?: boolean;
|
||||
|
||||
bonusValues?: Record<string, number>;
|
||||
attributes?: Record<string, number>;
|
||||
cooldown?: number;
|
||||
duration?: number;
|
||||
enginePowerIncrease?: number;
|
||||
rotationSpeedFactor?: number;
|
||||
fwdSpeedLimitBias?: number;
|
||||
bkwdSpeedLimitBias?: number;
|
||||
shotDispersionAngleFactor?: number;
|
||||
aimingTimeFactor?: number;
|
||||
clipReloadTimeFactor?: number;
|
||||
gunReloadTimeFactor?: number;
|
||||
shieldCoef?: number;
|
||||
minDamageFactor?: number;
|
||||
maxDamageFactor?: number;
|
||||
shotEffect?: string;
|
||||
} & Record<string, number>;
|
||||
deactivateStates?: number;
|
||||
activateStates?: number;
|
||||
contusionChances?: string;
|
||||
abortVelocity?: number;
|
||||
distance?: number;
|
||||
activationDamageFactor?: number;
|
||||
damageFactor?: number;
|
||||
startCooldown?: number;
|
||||
keepSpoted?: boolean;
|
||||
conflictExtras?: string;
|
||||
effectExtraName?: string;
|
||||
clientEffectVariant?: string;
|
||||
range?: number;
|
||||
healthFactor?: number;
|
||||
burstForce?: number;
|
||||
damageFactors?: string;
|
||||
flyTime?: number;
|
||||
distanceOffset?: number;
|
||||
timeSeconds?: number;
|
||||
extrasMustBeStopped?: string;
|
||||
breakTracks?: boolean;
|
||||
minAngleDegrees?: number;
|
||||
maxAngleDegrees?: number;
|
||||
attributes?: { [key: string]: number };
|
||||
acceleration?: number;
|
||||
burstRange?: number;
|
||||
burstDamagePercent?: number;
|
||||
projectileSpeed?: number;
|
||||
healWaveDelay?: number;
|
||||
healWavesCount?: number;
|
||||
healFactorPercent?: number;
|
||||
selfHealReducePercent?: number;
|
||||
shieldDuration?: number;
|
||||
targetExtrasMustBeStopped?: string;
|
||||
maxHealthSelfDamageFactor?: number;
|
||||
maxHealthDamageFactor?: number;
|
||||
disableTracksCollisionDamage?: boolean;
|
||||
maxHealthDamagePercent?: number;
|
||||
poisonTicks?: number;
|
||||
poisonTickDelay?: number;
|
||||
effectDuration?: number;
|
||||
radius?: number;
|
||||
attractorMass?: number;
|
||||
hpStockPercent?: number;
|
||||
invisibilityInMovingFactor?: number;
|
||||
maxBonusSources?: number;
|
||||
sixthSenseDelay?: number;
|
||||
stopObservingDelayFactor?: number;
|
||||
revengeDamagePercentage?: number;
|
||||
timeForComeBack?: number;
|
||||
simpleMode?: boolean;
|
||||
respawns?: Respawns;
|
||||
curseStrength?: number;
|
||||
curseReduction?: number;
|
||||
curseHeal?: number;
|
||||
explodeDamagePercent?: number;
|
||||
damageReductionPercent?: number;
|
||||
respawnBoost?: RespawnBoost;
|
||||
slowDebuff?: SlowDebuff;
|
||||
maxHealthFactor?: Bonus;
|
||||
minRammingDamageMaxHealthRatio?: number;
|
||||
minRammingDamageCooldown?: number;
|
||||
optDeviceRammingDamageOverride?: number;
|
||||
}
|
||||
|
||||
interface Bonus {
|
||||
lightTank: number;
|
||||
mediumTank: number;
|
||||
heavyTank: number;
|
||||
"AT-SPG": number;
|
||||
SPG?: number;
|
||||
}
|
||||
|
||||
interface BonusPercentage {
|
||||
rotationSpeedFactor?: number;
|
||||
firmGroundPassabilityIncrease?: number;
|
||||
softGroundPassabilityIncrease?: number;
|
||||
mediumGroundPassabilityIncrease?: number;
|
||||
}
|
||||
|
||||
interface BonusValuesClass {
|
||||
percent?: number;
|
||||
value?: number;
|
||||
projectileSpeedFactor?: number;
|
||||
piercingPenaltyFactor500m?: number;
|
||||
circularVisionRadiusIncrease?: number;
|
||||
upperPitchLimitIncrease?: number;
|
||||
lowerPitchLimitIncrease?: number;
|
||||
enginePowerIncrease?: number;
|
||||
gunReloadSpeedIncrease?: number;
|
||||
damageReductionPercent?: number;
|
||||
rammingDamageFactor?: number;
|
||||
sacrificeLoss?: number;
|
||||
damagePercentBonus?: number;
|
||||
enginePowerFactor?: number;
|
||||
maxVelocityFactor?: number;
|
||||
terrainResistanceFactor?: number;
|
||||
chassisHealthFactor?: number;
|
||||
rotationSpeedFactor?: number;
|
||||
damageReflectionPercent?: number;
|
||||
enginePowerAbilityFactor?: number;
|
||||
speedLimitAbilityBonus?: number;
|
||||
crewLevelIncrease?: number;
|
||||
factor?: number;
|
||||
turretRotationSpeedIncrease?: number;
|
||||
crewChanceToHitFactor?: number;
|
||||
repairSpeedIncrease?: number;
|
||||
fireProtectionIncrease?: number;
|
||||
explosivesHealthIncrease?: number;
|
||||
fwdSpeedLimitBias?: number;
|
||||
bkwdSpeedLimitBias?: number;
|
||||
lifestealFactor?: number;
|
||||
lifestealRandomFactor?: number;
|
||||
killHealFactor?: number;
|
||||
healFactor?: number;
|
||||
healRandomFactor?: number;
|
||||
dealingRammingDamageFactor?: number;
|
||||
gunReloadingBonus?: number;
|
||||
gunAimingTimeBonus?: number;
|
||||
visionRadiusBonus?: number;
|
||||
shotDispersionAngleFactor?: number;
|
||||
aimingTimeFactor?: number;
|
||||
timeBetweenShots?: number;
|
||||
increasedDamageChance?: number;
|
||||
increaseDamageFactor?: number;
|
||||
gunReloadFactor?: number;
|
||||
commonDamageFactor?: number;
|
||||
speedLimitsFactor?: number;
|
||||
maxHealthPercentBonus?: number;
|
||||
maxStaticsDamagePercent?: number;
|
||||
chancesToHit?: BonusValuesChancesToHit;
|
||||
modulesMaxHpFactors?: ModulesMaxHPFactors;
|
||||
modulesMaxRegenHpFactors?: ModulesMaxHPFactors;
|
||||
item?: BonusValuesItem[];
|
||||
}
|
||||
|
||||
interface BonusValuesChancesToHit {
|
||||
modules: PurpleModules;
|
||||
}
|
||||
|
||||
interface PurpleModules {
|
||||
engineHealth: number;
|
||||
fuelTankHealth: number;
|
||||
turretRotatorHealth: number;
|
||||
surveyingDeviceHealth: number[];
|
||||
ammoBayHealth: number;
|
||||
}
|
||||
|
||||
interface BonusValuesItem {
|
||||
commonDamageFactor: number;
|
||||
reloadSpeedFactor: number;
|
||||
}
|
||||
|
||||
interface ModulesMaxHPFactors {
|
||||
modules: ModulesMaxHPFactorsModules;
|
||||
}
|
||||
|
||||
interface ModulesMaxHPFactorsModules {
|
||||
ammoBayHealth: number;
|
||||
}
|
||||
|
||||
interface ChancesToHitChancesToHit {
|
||||
crew: number;
|
||||
modules: FluffyModules;
|
||||
}
|
||||
|
||||
interface FluffyModules {
|
||||
engineHealth: number;
|
||||
ammoBayHealth: number;
|
||||
commanderHealth: number;
|
||||
driverHealth: number;
|
||||
gunner1Health: number;
|
||||
gunner2Health: number;
|
||||
loader1Health: number;
|
||||
loader2Health: number;
|
||||
}
|
||||
|
||||
interface ModulesHealthFactorsClass {
|
||||
modules: ModulesHealthFactorsModules;
|
||||
}
|
||||
|
||||
interface ModulesHealthFactorsModules {
|
||||
leftTrackHealth: number;
|
||||
rightTrackHealth: number;
|
||||
fuelTankHealth: number;
|
||||
ammoBayHealth: number;
|
||||
}
|
||||
|
||||
interface PiercingFactors {
|
||||
ARMOR_PIERCING: number;
|
||||
HOLLOW_CHARGE: number;
|
||||
HIGH_EXPLOSIVE: number;
|
||||
ARMOR_PIERCING_HE: number;
|
||||
ARMOR_PIERCING_CR: number;
|
||||
}
|
||||
|
||||
interface RespawnBoost {
|
||||
duration: number;
|
||||
enginePowerFactor: number;
|
||||
speedLimitAbilityBonus: number;
|
||||
}
|
||||
|
||||
interface Respawns {
|
||||
respawn: Respawn[];
|
||||
}
|
||||
|
||||
interface Respawn {
|
||||
respawnIndex: number;
|
||||
bonusDamage: number;
|
||||
bonusReloadSpeed: number;
|
||||
bonusMaxSpeed: number;
|
||||
bonusEnginePower: number;
|
||||
}
|
||||
|
||||
interface SlowDebuff {
|
||||
item: SlowDebuffItem[];
|
||||
}
|
||||
|
||||
interface SlowDebuffItem {
|
||||
duration: number;
|
||||
enginePowerFactor: Bonus;
|
||||
speedLimitsFactor: Bonus;
|
||||
}
|
||||
@@ -13,10 +13,15 @@ import "tank_definitions.proto";
|
||||
message Script {
|
||||
/**
|
||||
* If #text is "StaticFactorDevice", type will be script.attribute, otherwise
|
||||
* type will assume the value of #text.
|
||||
* type will assume the value of #text. Same for "StaticAdditiveDevice".
|
||||
*/
|
||||
string type = 1;
|
||||
|
||||
optional bool automatic = 2;
|
||||
optional float cooldown = 3;
|
||||
optional float duration = 4;
|
||||
bool keep_spotted = 5;
|
||||
|
||||
/**
|
||||
* Bonus values enjoys Record<string, number> entries from
|
||||
* script.bonusValues.
|
||||
@@ -25,32 +30,14 @@ message Script {
|
||||
* script object. That is, if an entry on the root script object isn't
|
||||
* "attribute", "bonusValues", "#text", etc., it goes in here. Empty strings
|
||||
* values get omitted.
|
||||
*
|
||||
* Values from script.visionRadiusPercentageBonus from type CoatedOptics will
|
||||
* also be merged into here to be consistent with CamouflageNet. God fucking
|
||||
* damn it Wargaming.
|
||||
*
|
||||
* Same goes for all these:
|
||||
* - enginePowerPercentageBonus
|
||||
* - visionRadiusPercentageBonus
|
||||
*/
|
||||
map<string, float> bonus_values = 2;
|
||||
|
||||
/**
|
||||
* I thought piercing_factors distinct enough from bonus_values to separate
|
||||
* them since the keys here are no longer properties of the tank, but
|
||||
* specific shell types. The keys will be mapped to BlitzKit's ShellType.
|
||||
*/
|
||||
map<int32, float> piercing_factors = 3;
|
||||
|
||||
/**
|
||||
* Same story here, the keys are different. But this time, the values are
|
||||
* stored deep in script.modulesHealthFactors.modules. Also, all keys end
|
||||
* with "Health" for no reason like "leftTrackHealth". That will be trimmed.
|
||||
*/
|
||||
map<string, float> module_health_factors = 4;
|
||||
|
||||
/**
|
||||
* There's chancesToHit.crew and then there's the mapped chancesToHit.modules
|
||||
* which I plan to merge under this one, flat object. And, once again, all
|
||||
* keys end with "health" like "driverHealth" so I will sanitize them.
|
||||
*/
|
||||
map<string, float> chances_to_hit = 5;
|
||||
|
||||
/**
|
||||
* Most sane entry?
|
||||
*/
|
||||
map<int32, float> vision_radius_percentage_bonus = 6;
|
||||
map<string, float> values = 2;
|
||||
}
|
||||
@@ -47,7 +47,7 @@ export async function GET() {
|
||||
}
|
||||
}
|
||||
|
||||
return Response.json(samples);
|
||||
return Response.json(Object.values(samples));
|
||||
|
||||
const definitions = await api.consumables();
|
||||
const bytes = ConsumableDefinitions.encode(definitions).finish();
|
||||
|
||||
Reference in new issue
Block a user