- Added `WarUnit` class as the base for all war units, encapsulating common properties and methods.
- Introduced `WarUnitCity` class to represent city units, including methods for siege mechanics and city-specific calculations.
- Created `WarUnitGeneral` class for general units, incorporating action pipelines and experience handling.
- Implemented various utility functions for calculating attack, defense, and other combat-related metrics.
- Established logging mechanisms for battle results and unit actions.