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()); } } }
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()); } } }
public override void DisplayFX(MAction action) { var util = new VWeaponUtil(); util.DoSpearWallFX(action); foreach (var hit in action.Data.Hits) { hit.CallbackHandler(null); } }