public override void TryProcessHit(MHit hit, bool prediction) { base.TryProcessHit(hit, prediction); if (!prediction) { var tgt = hit.Data.Target.Current as CChar; var hp = this.GetHP(hit); var barrier = new MBarrier((int)this.Data.Duration, (int)hp); var data = new EvBarrierData(); data.barrier = barrier; data.target = tgt; var ev = new EvBarrier(data); ev.TryProcess(); VHitController.Instance.DisplayBarrierCreation(tgt, hit, barrier); } }
public void DisplayBarrierCreation(CChar target, MHit hit, MBarrier barrier) { var dmgData = new HitDisplayData(); dmgData.Color = CombatGUIParams.BLUE; dmgData.Hit = hit; dmgData.Priority = ViewParams.BARRIER_PRIORITY; dmgData.Text = barrier.MaxHP.ToString(); dmgData.Target = target.GameHandle; dmgData.YOffset = CombatGUIParams.FLOAT_OFFSET; dmgData.Hit.AddDataDisplay(dmgData); this.DisplayBarrier(target, hit); var controller = new ParticleController(); var util = new DecoUtil(); var particles = controller.CreateParticle(BARRIER_PARTICLE_PATH); util.AttachEffectParticlesToChar(target, particles, EEffect.Barrier); }
public void AddBarrier(MBarrier shield) { this._model.GetEffectsContainer().AddBarrier(shield); }
public void AddBarrier(MBarrier s) { this._barriers.Add(s); }