protected override void StartPerform()
        {
            base.StartPerform();
            effect = new Client.Game.Map.Effects.IncinerateEffect();
            TargetUnit.Scene.Add(effect);

            //Program.Instance.SoundManager.GetSFX(SFX.Incinerate1).Play();
        }
 protected override void StartPerform()
 {
     base.StartPerform();
     effect = new Effects.NetEffect
     {
         FadeinTime = InitDelay,
         FadeoutTime = 0.5f
     };
     blockersAdded = 0;
     weightAdded = 0;
     TargetEntity.Scene.Add(effect);
     var sm = Program.Instance.SoundManager;
     sm.GetSFX(Client.Sound.SFX.ReceiveNet1).Play(new Sound.PlayArgs());
     #if USE_SPACE_NET_BREAK
     jumped = false;
     jumpedAcc = 0;
     #endif
 }
 protected virtual void PlayFireBreathEffect()
 {
     Performer.Scene.Add(effect = new Effects.FireBreathEffect(TotalDuration - InitDelay, EffectiveAngle)
     {
         Translation = Performer.Translation + Vector3.TransformCoordinate(new Vector3(0.2f, 0, 1.4f),
             Matrix.RotationZ(Performer.LookatDir)),
         Direction = Common.Math.Vector3FromAngleXY(Mediator.Orientation)
     });
 }
        protected override void EndPerform(bool aborted)
        {
            base.EndPerform(aborted);
            TargetUnit.CanControlMovementBlockers -= blockersAdded;
            TargetUnit.PhysicalWeight -= weightAdded;
            #if USE_SPACE_NET_BREAK
            TargetUnit.TriesToJump -= new EventHandler(TargetUnit_TriesToJump);
            if(!panel.IsRemoved)
                panel.Remove();
            #endif

            effect.Stop();
            effect = null;
        }