Warp In Transition fast/slow "removes" Unit's Warp-In Model

Warping in a Zealot near a Nexus or Warp Gate is fast. The duration is 5 game seconds.

When the Nexus or Warp Gate dies during warp in, then the speed slows down, then the duration is scaled back up to 16 game seconds.

There is an issue that the animation of the unit that is warped in is not altered. It will always have 5 or 16 seconds animation duration and then end.

Video by feardragon showing the issue:

Fix

  • The animation duration can be fixed via changing the time scale
  • The detection of power level changes can be done via dummy effects in `PowerUserWarpable behavior
  • The model indicating fast warp in (actor ProtossFastWarpinMarker) can be created based on the effects
    • For some reason, I could not place all effects into ProtossFastWarpinMarker (on effect => create did not work together with on behavior remove => destroy). Thus, I moved the create event into ProtossWarpIn as well
    <CActorModel id="ProtossFastWarpinMarker">
        <On Terms="Effect.PowerUserWarpablelevel2lost.Start" Send="Destroy"/>
    </CActorModel>
    <CActorProgress id="ProtossWarpIn">
        <On Terms="Effect.PowerUserWarpablelevel2gained.Start" Target="_Unit" Send="AnimSetTimeScale Birth 1.000000"/>
        <On Terms="Effect.PowerUserWarpablelevel2lost.Start" Target="_Unit" Send="AnimSetTimeScale Birth 0.312500"/>
        <On Terms="Effect.PowerUserWarpablelevel2gained.Start" Send="Create ProtossFastWarpinMarker"/>
    </CActorProgress>

    <CBehaviorPowerUser id="PowerUserWarpable">
        <PowerStageArray index="1" LevelGainEffect="PowerUserWarpablelevel2gained" LevelLossEffect="PowerUserWarpablelevel2lost"/>
    </CBehaviorPowerUser>

    <CEffectSet id="PowerUserWarpablelevel2lost"/>
    <CEffectSet id="PowerUserWarpablelevel2gained"/>

Video showing that with this fix all 4 cases are handled correctly:

Test Map with above Fix + documentation + screenshots:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.