Aoe2scenarioparser

Latest version: v0.2.15

Safety actively analyzes 703159 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 11 of 18

0.1.28

Added

- Missing `MINUTES_AND_SECONDS` to `TimeUnit`

Fixed

- Module `typing_extensions` not in requirements.txt

---

0.1.27

**Support for the new 56005 update!**

Added

- Support for the **1.45** scenario files!
- The **Player Manager**!
- Allows access to many player related attributes like resources, civ, disables, diplomacy and more!
- Check the [player manager cheatsheet](https://ksneijders.github.io/AoE2ScenarioParser/cheatsheets/players/) for more info!
- Error when overwriting the source scenario (with a setting to disable this behaviour)
- `settings.DISABLE_ERROR_ON_OVERWRITING_SOURCE` (`False` by default)
- `map_manager.set_elevation()`
- A new function which superseeds the `create_hill` function as it can create hills and holes
- **Note:** `elevation` is now the first argument, instead of the last
- Deprecation warning to the `create_hill` function
- `map_manager.terrain_2d`
- A property which returns the map in a 2D list.
- **Note:** This is calculated for each request so it's recommended to call it once and store it
- `map_manager.get_tile_safe()`
- Same as `get_tile` except it won't throw an `IndexError` when the tile cannot be found.
Instead, it returns `None`
- Datasets from the nitpicked pull: [18] (newtonerdai).
- `StartingAge`
- `Civilization`
- `ColorId` dataset for setting the player color in the player manager
- The palisade gate to the building dataset (`BuildingInfo.PALISADE_GATE`) for disabling the palisade gate

Improved

- Datasets printed through a trigger content string can be individually customized

Fixed

- Swapped incorrect `object_visible_multiplayer` and `object_selected_multiplayer` effect IDs
- Issue with reading legacy scenarios that had units selected in effects
- `TechInfo.unique_techs` returning an empty list by default

Changed

- Renamed the `TerrainId.CORRUPTION` to `TerrainId.VERY_EVIL_FOG` to resemble the actual in-game name.
- **BackEnd**: Renamed the retriever: `player_names` to `tribe_names` to resemble the in-game input field label.
- **BackEnd**: UUID functions have been moved to getters and actions modules

Uncovered structures in the scenario file

- Many structures in the structure files for future use. Nitpicked from pull: [18] (newtonerdai)
- `per_player_lock_civilization`
- `lock_teams`
- `allow_players_choose_teams`
- `random_start_points`
- `max_number_of_teams`
- `per_player_base_priority`
- `editor_camera_x & y`
- `initial_camera_x & y`
- Properly added a new structure from the 1.44 version update
- `per_player_population_cap`

[18]: https://github.com/KSneijders/AoE2ScenarioParser/pull/18

---

0.1.26

Fixed

- `effect.selected_object_ids` got reset when using `trigger_manager.get_content_as_string()`

---

0.1.25

Fixed

- Issue with reading certain scenarios which contained legacy bitmap images
- Issue where requesting TriggerManager content string would crash due to an unknown unit

---

0.1.24

**Updated the minimum requirements to python 3.8 & Support for the new PUP September Scenarios!!**

Added

- Support for the new `1.44` scenario version in the current September PUP beta on steam. **(Work in Progress)**
- A cheatsheet for the Map Manager [link](https://ksneijders.github.io/AoE2ScenarioParser/cheatsheets/map/)!
- Scenarios now have a `UUID`. This is used for easy access to information through the entire library.
This allowed the following:
- `variable: 0` now shows as: `variable: "NumberOfAttempts" (0)`
- `trigger_id: 1` now shows as: `trigger_id: "Move units" (1)`
- `location_object_reference: 222` now shows as:

location_object_reference: 1 unit:
0: Camel Rider [P1, X50.5, Y67.5] (222)

- `selected_object_ids: [21, 22]` now shows as:

selected_object_ids: 2 units:
0: Berserk [P1, X65.5, Y74.5] (21)
1: Berserk [P1, X66.5, Y75.5] (22)

- New properties to the `TerrainTile` object
- `x`: Get it's X coordinate
- `y`: Get it's Y coordinate
- `xy`: Get a tuple of it's XY coordinates
- `i`: Get it's index
- New functions to the map manager:
- `get_tile(x=.., y=..)` or `get_tile(i=..)`
- `get_square_1d(x1, y1, x2, y2)` and `get_square_2d(x1, y1, x2, y2)`
Get a square of tiles in a 1D or 2D list.

Updated

- `unit_manager.get_new_reference_id()` will now pull from a number generator instead of searching the entire unit list.

Fixed

- Functions `xy_to_i` and `i_to_xy` having the x and y coordinate reversed.
- `bidict` still being imported while not being a dependency anymore
- Changing the map size linked all new terrain tiles to the same object
- Error being raised when importing `ProjectileInfo`
- `TimeUnit` dataset values `Years` and `Seconds` being the wrong way around.

Removed

- `object_location_reference` attribute from the `patrol` effect as it doesn't work in game.

---

0.1.23

Added

- Warning about python minimum requirement being moved from `3.6` to `3.8`.
- Setting to disable the python minimum requirement warning.

Fixed

- Issue caused by referencing unit IDs not included in the datasets

---

Page 11 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.