Skip to content

"Toggle Impassable Cells" should mark more cells #271

@Bittah

Description

@Bittah

The "Toggle Impassable Cells" function currently only marks cells with the Rock Terrain Type, which makes it unreliable because units are unable to move onto many other cells as well.

To improve this WAE should instead check the values of every Terrain Type and mark every cell that has a Terrain Type for which all values (aside for Winged, which can always be ignored) are 0% (or are missing) in red.
For example:

[Rock]
Foot=0%
Track=0%
Wheel=0%
Float=0%
Hover=0%
Amphibious=0%
FloatBeach=0%
Creep=0%
Winged=10%
Buildable=no

Terrain Types for which only (at least one of) Float, Amphibious and Hover (and FloatBeach for YR) have a value above 0% (and aren't missing) should be marked in blue:

[Water]
Foot=0%
Track=0%
Wheel=0%
Hover=59%
Float=59%
Amphibious=59%
FloatBeach=59%
Creep=0%
Winged=100%
Buildable=no

And Terrain Types for which only (at least one of) Amphibious and Hover (and FloatBeach for YR) have a value above 0% (and aren't missing) should be marked in purple:

[Beach]
Foot=0%
Track=0%
Wheel=0%
Float=0%
Hover=59%
Amphibious=59%
FloatBeach=59%
Creep=0%
Winged=100%
Buildable=no

While "Toggle Impassable Cells" already also marks cells with overlay using the Rock Terrain Type, it doesn't remove marked cells when you place passable overlay on impassable terrain to make it passable (like when you place NOBUILD overlay on a rock in DTA).

In addition to this WAE should also mark objects (terrain objects, structures and ideally also units).
Indestructible objects (check for Immune=yes) should be marked in red just like impassable terrain is, while destructible objects could instead be marked in yellow.
Maybe some special cases such as units that are both crushable and immune and indestructible trees that infantry can still walk through could be marked in orange (any terrain object that does have not a TemperateOccupationBits or SnowOccupationBits key/value at all or has a value of 7 is impassable for all units, while values from 0 to 6 make them passable for infantry only).

Edit:
Added FloatBeach to the examples to take YR into consideration (this wouldn't have any effect in TS).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions