mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-26 03:59:53 +01: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;
|
"#text": string;
|
||||||
|
piercingFactors?: PiercingFactors;
|
||||||
cooldown?: number;
|
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;
|
automatic?: boolean;
|
||||||
|
cooldown?: number;
|
||||||
bonusValues?: Record<string, number>;
|
duration?: number;
|
||||||
attributes?: Record<string, 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;
|
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 {
|
message Script {
|
||||||
/**
|
/**
|
||||||
* If #text is "StaticFactorDevice", type will be script.attribute, otherwise
|
* 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;
|
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
|
* Bonus values enjoys Record<string, number> entries from
|
||||||
* script.bonusValues.
|
* script.bonusValues.
|
||||||
@@ -25,32 +30,14 @@ message Script {
|
|||||||
* script object. That is, if an entry on the root script object isn't
|
* script object. That is, if an entry on the root script object isn't
|
||||||
* "attribute", "bonusValues", "#text", etc., it goes in here. Empty strings
|
* "attribute", "bonusValues", "#text", etc., it goes in here. Empty strings
|
||||||
* values get omitted.
|
* 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;
|
map<string, float> 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;
|
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ export async function GET() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Response.json(samples);
|
return Response.json(Object.values(samples));
|
||||||
|
|
||||||
const definitions = await api.consumables();
|
const definitions = await api.consumables();
|
||||||
const bytes = ConsumableDefinitions.encode(definitions).finish();
|
const bytes = ConsumableDefinitions.encode(definitions).finish();
|
||||||
|
|||||||
Reference in new issue
Block a user