blitz scripts

This commit is contained in:
tresabhi committed 2026-09-22 15:25:25 -05:00
1 parent 1733180f2c
commit 402b6d5113
8 files changed
+90 -302

No files matched your search

-43
View File
@@ -1,43 +0,0 @@
syntax = "proto3";
package blitzkit;
import "tank_definitions.proto";
/**
* Wargaming's script system for provisions, consumables, and equipment is
* genuinely the most repulsive and inconsistent XML schema I have ever seen.
* Here are my notes on how I normalize the data into BlitzKit. I can totally
* see why they want to move to Unreal Engine. This is unhealthy.
*/
message Script {
/**
* If #text is "StaticFactorDevice", type will be script.attribute, otherwise
* 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.
*
* I also augment Record<string, number | ""> values from the root of the
* 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> values = 2;
}