mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
This PR: - Introduces a new member of UnitType, hit_points, which is an abstract representation of the durability of a unit, and loads it in from the YAML files in the various subclasses (Ship, Ground etc). - Adds scripts for populating/updating the unit YAML files with hit point data from DCS. This script also gets the data for static objects, but I'll leave the plugging in of static object data into Liberation for another PR. - Updates the unit YAML files by running the above scripts. I did toy with the idea of adding this data to the unit definitions in pydcs via an export from DCS, but it would be a more involved change, since the current pydcs export script runs in the Hooks Lua environment in DCS and AFAICT the hit points (via Unit.getLife()) is run in the mission scripting environment.
Hit Points Generator
The scripts in this folder creates/updates hit point data for units and static objects in DCS and updates the unit YAML files in Liberation.
Usage
- Run mission.py, which will generate a DCS mission file hit_points_generator.miz in the same folder as mission.py.
- Run the mission hit_points_generator.miz in DCS, wait a few seconds and exit the mission. This mission should generate a file hit_points_data.csv in the same folder as mission.py. This mission requires the sanitizing of the Lua io module to be commented out in MissionScripting.lua, but this should already be the case when running Liberation.
- Run update.py, which will update the YAML files in Liberation's resources folder, adding the hit_points data if it does not exist or overwriting it if it does. Note that update.py will need to be updated if the file location with the Liberation code is changed.