HLL Vietnam#35
Draft
timraay wants to merge 36 commits into
Draft
Conversation
Scripts to extract weapons, vehicles & loadouts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Added support for Hell Let Loose: Vietnam
Support for HLL:V was added. As a result, most existing classes have been split up into two variants. One for HLL:V and one for the original HLL. Classes have been given a
HLLV- andHLL- prefix respectively, f.e.RconbecameHLLVRconandHLLRcon.Data models (e.g.
Layer,Weapon) have received the same treatment. Note that games do not always share the same attributes (f.e.HLLVRole.progressionexist but notHLLRole.progression) or even entire data objects (f.e.HLLLoadoutexists but notHLLVLoadout).For type-checked environments where you want to support both games, union type aliases have been provided. These are prefixed with
Any-.Most data models are now generated automatically
One of the hurdles of maintaining data models is that it was done manually. Not only is this a tedious process, it is easy to miss changes, particularly if they're not clearly documented in the game's patch notes.
Moving forward, data models for vehicles, weapons and loadouts are extracted from the game directly, which should improve efficiency and accuracy. As a side effect, some items have been renamed.
HLLRconHLLVRconwait_until_connected()=>connect()connect()=>connection()__min_server_version__: ClassVar[int]HLLSyncRconHLLVSyncRconwait_until_connected()=>connect()connect()=>connection()Exceptions
HLLAuthError=>RconAuthError,HLLCommandError=>RconCommandError,HLLConnectionClosedError=>RconConnectionClosedError,HLLConnectionError=>RconConnectionError,HLLConnectionLostError=>RconConnectionLostError,HLLConnectionRefusedError=>RconConnectionRefusedError,HLLError=>RconError,HLLMessageError=>RconMessageError,HLLPlayerRoleIdARTILLERY_ENGINEER = 15=>OPERATOR = 15ARTILLERY_SUPPORT = 16=>GUNNER = 16ForceModeStrEnuminstead ofIntEnumHLLVFactionis_southern: boolis_allied: boolis_northern: boolis_axis: boolHLLLoadoutItemweapon: HLLWeapon | None=>weapon: HLLWeaponname: strweapon.nameinsteadHLLVLoadoutItemHLLMapHLLVMapyear: intallies_direction: CardinalDirectionaxis_direction: CardinalDirectionRoleTypeMORTAR = "Mortar"HELICOPTER = "Helicopter"HLLRoleis_mortar: boolis_helicopter: boolARTILLERY_ENGINEER: HLLRoleARTILLERY_SUPPORT: HLLRoleHLLVRoleis_mortar: boolis_helicopter: boolprogression: list[HLLVRoleProgression]get_available_capacity(level: int) -> HLLVRoleProgressionget_available_items(level: int, faction: HLLVFaction) -> set[HLLVLoadoutItem]get_available_weapons(level: int, faction: HLLVFaction) -> set[HLLVLoadoutWeapons]VehicleTypeANTI_AIRCRAFT_GUN = "Anti-Aircraft Gun"BOAT = "Boat"HELICOPTER = "Helicopter"MORTAR = "Mortar"VehicleSeatTypePILOT = "Pilot"CO_PILOT = "Co-Pilot"SPOTTER = "Spotter"=>COMMANDER = "Commander"WeaponTypeGRENADE_LAUNCHER = "Grenade Launcher"TANK_RECON = "Tank Recon"TANK_SMOKE_SCREEN = "Tank Smoke Screen"MORTAR = "Mortar"SMOKE_GRENADE = "Smoke"HEALING = "Healing"BINOCULARS = "Binoculars"SUPPLIES = "Supplies"HAMMER = "Hammer"WRENCH = "Wrench"TORCH = "Torch"WATCH = "Watch"FLARE_GUN = "Flare Gun"=>RECON_FLARE = "Recon Flare"HLLWeaponHLLVWeaponis_lethal: boolmodel_dump()Data JSON export
data.hll.jsonanddata.hllv.jsonHLLLoadoutincorrectly referencing other data models