Ahli / sc2xml

11 stars 1 forks source link

Units can escape Graviton Beam due to an oversight in behaviour application #146

Open Joshua-Leibold opened 6 months ago

Joshua-Leibold commented 6 months ago

The behaviour we check for to see if a unit is currently the target of a Graviton Beam is ONLY applied by the periodic effect set of the Graviton ability, NOT in the initial effect set. This means there can be a slight delay between when the Graviton is cast and when the target unit is considered a Graviton target by other abilities.

Creates unintended scenarios. For instance, a Phoenix can cast Graviton Beam on a widow mine only for the Terran to issue an order to pick up the mine with a medivac after Graviton has already been cast, which causes the Phoenix to lose energy for no effect and the mine to be picked up since it is incorrectly considered a valid target.

<CEffectSet id="GravitonBeamInitialSet">
    <EffectArray value="GravitonBeamBehavior"/>
</CEffectSet>

https://gyazo.com/97e5116087ceb684d31784820882a8ac

A practical example can be seen in Harstem's video here: https://youtu.be/CxlrhI0vrns?t=459