public MInjury GetInjury() { var injury = new MInjury(this._type); if (this.DoT.X != EDoT.None) { var data = new MOTEData(); data.Dur = this.DoT.Y; injury.DoT = new MDoT(this.DoT.X, data); } foreach (var stat in this.PStatMods) { var data = this.GetModProto(); data.Stat = stat.X; data.Scalar = stat.Y; injury.Mods.Add(new StatMod(data)); } foreach (var stat in this.SStatMods) { var data = this.GetModProto(); data.Stat = stat.X; data.Scalar = stat.Y; injury.Mods.Add(new StatMod(data)); } return(injury); }
public override void TryProcessHit(MHit hit, bool prediction) { base.TryProcessHit(hit, prediction); if (base.CheckConditions(hit)) { hit.AddEffect(this); } if (base.CheckConditions(hit) && !prediction) { var tgt = hit.Data.Target.Current as CChar; var data = new MOTEData(); data.Dmg = hit.Data.Dmg; // TODO: Will need to grab dur from hit for dynamic durations at some point data.Dur = (int)hit.Data.Ability.Data.Duration;; var hot = new MDoT(EDoT.Burn, data); tgt.Proxy.AddDoT(hot); } }
public MDoT(EDoT type, MOTEData d) : base(d) { this._type = type; }
public MHoT(MOTEData d) : base(d) { }
public MOTE(MOTEData data) { this._data = data; }