GAME PLATFORM: Steam / Microsoft Store / Xbox / PlayStation
OPERATING SYSTEM: Windows 10
ISSUE EXPERIENCED
A serious bug has been discovered by the Fast Villager Defense and modding communities related to the change: Fixed a bug allowing players to unload units past gaps and other obstacles using Siege Towers.
This appears to be a hard-coded change that now affects essentially all game modes.
The issue reported by the community is that when a unit is garrisoned inside a building and that building is destroyed, the game attempts to unload the unit into an available space. However, if there is no valid space for the unit to be placed, the unit simply dies instead of being safely handled.
For example:
Place walls completely around a castle containing units.
Destroy the castle.
If there is no valid space for the garrisoned units to spawn, all of those units die.
The same behavior can occur with units inside a Town Center, Castle, towers and other structures when they don’t have available space around them or partly blocked, including situations involving foundations. You can also make relics disappear from the game using this bug. Just build foundations around your monastery and delete it. So it can happen with any unit/object inside of a building.
another bug - when click select all units , then ALL units are selected, including garrisoned for a moment.
another bug - If a garrisoned unit is surrounded by your units - the garrisoned unit exits further away
FREQUENCY OF ISSUE
100% of the time / matches I play (ALWAYS)
EXPECTED RESULT
This is particularly concerning because the change appears to have affected the underlying garrison and unloading behavior globally, meaning it can impact mechanics far beyond the original Siege Tower issue.
The intended fix for Siege Towers should not cause garrisoned units to be automatically killed whenever the structure they are inside is destroyed and there is no valid adjacent placement location.
Please investigate the underlying hard-coded behavior and its effect across all game modes.
Maybe unrelated, but worth checking if orders are not confused with actions, because both cUnitOrderAttack and cUnitActionUnloadOverWall have the same constant value.
If it’s totally unrelated - can we make the constants different to not overlap and avoid confusion please?
The bug is even worse than described. It makes the long-time mod Fast Villager Defense unplayable. Look at this screenshot. My flag is my villager safe inside the tower, but I’m completely stuck. I used to be able to target an adjacent tower or ungarrison in place (to be wedged between towers) but now an error pops up saying “Unable to ungarrison the unit.” and of course I died a few seconds after this to the hunter’s elephants, being unable to run away and cornered. If I delete the tower to try and leave my unit behind it deletes the unit and I instantly lose the game. Note: right click garrison exhibits the same behaviour since that doesn’t affect ungarrison.
Note: there were actually two improvements to ungarrison that were done in this patch which are desirable:
If there is space, you can more predictably ungarrison on the side you set the gather point on. Previously it depended on a multitude of factors which side you were actually ejected on, such as what direction you try to ungarrison combined with what direction is blocked by another structure or foundations. If the adjacent tile is blocked in the direction of the gather point then as before your unit will eject wherever there is free space.
You can now ungarrison into either an adjacent tower or a second-adjacent tower above screen-wise (the two isometric directions that run directly upwards on the screen, instead of the two downwards diagonal directions which previous exhibited this behavior). Previously hopping upwards would eject your unit temporarily. See below for the new direction that is possible without temporary ejecting your villager in FVD:
If the space issue above is fixed then these two enhancements would actually be beneficial to the game, whether they were intended to be implemented or not.
I’ve created this table which helps test the range of bugs and improvements related to this:
Scenario
Legacy
Current patch
Desired by Modders
Gather point has free space
Ejection affected by several factors
Predictably uses gather point
Current
Gather point blocked
Falls back to free space
Falls back to free space
Current
Adjacent tower + additional free space
Can unload into tower
Can unload into tower
Current
Second-adjacent tower
Direction-dependent behaviour
Up-screen directions now work
Current
No available space
Ungarrison on razed garrison building tiles, between buildings, and between units.
“Unable to ungarrison the unit.” with no action
Restore legacy behaviour
No space + gather point into tower
Could unload into tower / established behaviour
“Unable to ungarrison the unit.” with no action
Restore legacy behaviour
Trapped units + building destroyed
Ungarrison on razed garrison building tiles, between buildings, and between units.
Excess units are deleted
Restore legacy behaviour
Units between/behind structures
Could temporarily become stuck but still re-garrison to be freed
Siege Tower fix unloads to the nearest free location
Restore legacy behaviour
Siege Tower ungarrison could cross gaps/obstacles
Could potentially exploit gap
Unknown as to where this exploit mattered or whether there was one, but it should still be present