Ahli / sc2xml

11 stars 1 forks source link

Protoss Vespene Geyser variants have readability issues with depleted status #134

Closed Joshua-Leibold closed 6 months ago

Joshua-Leibold commented 7 months ago

When an assimilator/ refinery/ extractor is depleted, they turn red to signal depletion status. When one of these depleted structures is destroyed, a depleted version of the original extractor is shown. The regular vespene geyser and the space platform variant have depleted models that get rid of the "green" from the model and that are darkened, but the Protoss variants have very unnoticeable changes that can make it difficult for players to tell in a hectic lategame if a base is already mined out.

For instance, this is a screenshot of the Protoss variant geyser when it is still has gas vs when it is depleted: f6fe1b382f281b801d8653f85aa855bf

Readability issues can be rectified by adding lines to the actors of the Protoss-themed variants that tint the unit upon gaining the depletion behaviour (and tint it back to normal when it is "restored"):

<CActorUnit id="ProtossVespeneGeyser">
        <On Terms="Behavior.RawVespeneGeyserGas.Deplete" Send="SetTintColor 95,95,95"/>
        <On Terms="Behavior.RawVespeneGeyserGas.Restore" Send="SetTintColor 255,255,255"/>
    </CActorUnit>
    <CActorUnit id="PurifierVespeneGeyser">
        <On Terms="Behavior.RawVespeneGeyserGas.Deplete" Send="SetTintColor 95,95,95"/>
        <On Terms="Behavior.RawVespeneGeyserGas.Restore" Send="SetTintColor 255,255,255"/>   
    </CActorUnit>
    <CActorUnit id="ShakurasVespeneGeyser">
        <On Terms="Behavior.RawVespeneGeyserGas.Deplete" Send="SetTintColor 95,95,95"/>
        <On Terms="Behavior.RawVespeneGeyserGas.Restore" Send="SetTintColor 255,255,255"/>
    </CActorUnit>

After the changes: d5c35ff4e393a30bed8613c77ea95435

This issue evidently does affect esports as I have personally witnessed a tournament pro game where a player on NeoHumanity in the extreme lategame "forgot" about a geyser from an earlier base when gas collection would determine the winner, despite taking one with less gas available nearby

Joshua-Leibold commented 6 months ago

Successfully patched live with 5.0.13