Ahli / sc2xml

11 stars 1 forks source link

Make dynamic pathing blockers interact better with collapsible towers and block build grid before being scouted #84

Closed Ahli closed 11 months ago

Ahli commented 1 year ago

Omni Skeptic: The units Dynamic Pathing Blocker 1x1 and Dynamic Pathing Blocker 2x2 have their unit data field "fog visibility" set to "hidden". This serves no purpose in a melee status map because without triggers or custom data there is no time when a dynamic pathing blocker will appear or move or be attached to where it didn't used to be after game start. Where they are placed at the beginning of the game is where they will always be (with one exception being destroyed by rock towers). Usually unpathable areas or footprints either have a model on top of them or are attached to a unit with a model so there's at least an indication that there's something there, but since these pathers are invisible, there's not even the slightest indication given to the player that there's a hidden pathing blocker to scout once they leave vision range. There's just this random pathing blocker that magically appears and disappears when you gain and lose vision of it. This can be fixed by 1) changing "fog visibility" set to snapshot so that the player's build grid maintains the no-build zone through the fog of war without updating it if it dies to rock towers and 2) checking the flag "create visible" so that they get scouted through the fog of war at the start of the game (before they could possibly have been destroyed by rock towers), just like how other path-blocking units like rocks are treated

Some goodies for mapmakers to work better with collapsible Towers and have the build grid blocked without scouting:

    <CUnit id="PathingBlocker1x1">
        <FlagArray index="CreateVisible" value="1"/>
        <FogVisibility value="Snapshot"/>
    </CUnit>
    <CUnit id="PathingBlocker2x2">
        <FlagArray index="CreateVisible" value="1"/>
        <FogVisibility value="Snapshot"/>
    </CUnit>

Would the other pathing blockers benefit from that as well?

Ahli commented 1 year ago

test/comparison maps: dynamicPathingBlockerTest.zip

Screenshot2023-04-17 20_27_15 ^ from unscouted free Screenshot2023-04-17 20_26_44 ^ to unscouted blocked