Esempio n. 1
0
 public override void TryProcess()
 {
     base.TryProcess();
     if (this.VerifyAndPopulateData())
     {
         if (FActionStatus.HasFlag(this._data.Char.Proxy.GetActionFlags().CurFlags, FActionStatus.Flags.ShieldWalling))
         {
             var util = new VWeaponUtil();
             if (this._data.Char.Proxy.GetLWeapon() != null)
             {
                 var wpn = this._data.Char.Proxy.GetLWeapon();
                 if (wpn.View.ShieldWalling)
                 {
                     util.UndoShieldWallFX(this._data.Char, wpn, true);
                 }
             }
             if (this._data.Char.Proxy.GetRWeapon() != null)
             {
                 var wpn = this._data.Char.Proxy.GetRWeapon();
                 if (wpn.View.ShieldWalling)
                 {
                     util.UndoSpearWallFX(this._data.Char, wpn, false);
                 }
             }
             FActionStatus.SetShieldWallingFalse(this._data.Char.Proxy.GetActionFlags());
         }
     }
 }
Esempio n. 2
0
 public override void TryProcess()
 {
     base.TryProcess();
     if (this.VerifyAndPopulateData())
     {
         if (FActionStatus.HasFlag(this._data.Char.Proxy.GetActionFlags().CurFlags, FActionStatus.Flags.Spearwalling))
         {
             var util = new VWeaponUtil();
             if (this._data.Char.Proxy.GetLWeapon() != null)
             {
                 var wpn = this._data.Char.Proxy.GetLWeapon();
                 if (wpn.View.SpearWalling)
                 {
                     util.UndoSpearWallFX(this._data.Char, wpn, true);
                 }
             }
             if (this._data.Char.Proxy.GetRWeapon() != null)
             {
                 var wpn = this._data.Char.Proxy.GetRWeapon();
                 if (wpn.View.SpearWalling)
                 {
                     util.UndoSpearWallFX(this._data.Char, wpn, false);
                 }
             }
             var zones = this._data.Char.Proxy.GetZones().FindAll(x => x.Type == EZone.Spear_Wall_Zone);
             foreach (var zone in zones)
             {
                 zone.RemoveFromParentAndSource();
             }
             FActionStatus.SetSpearWallingFalse(this._data.Char.Proxy.GetActionFlags());
         }
     }
 }
Esempio n. 3
0
        public override void DisplayFX(MAction action)
        {
            var util = new VWeaponUtil();

            util.DoSpearWallFX(action);

            foreach (var hit in action.Data.Hits)
            {
                hit.CallbackHandler(null);
            }
        }