zhexu14 5af4e56f30
Add hit points to unit yamls.
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.
2024-01-04 00:49:33 -08:00
..
2024-01-04 00:49:33 -08:00
2024-01-04 00:49:33 -08:00
2024-01-04 00:49:33 -08:00
2024-01-04 00:49:33 -08:00

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

  1. Run mission.py, which will generate a DCS mission file hit_points_generator.miz in the same folder as mission.py.
  2. 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.
  3. 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.