oh my god this is hideous

This commit is contained in:
tresabhi committed 2026-09-22 14:52:33 -05:00
1 parent 11c2c9749c
commit 1733180f2c
3 files changed
+270 -36

No files matched your search

+15 -28
View File
@@ -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;
}