private void ProcessConditionEffects(RealmTime time) { if (_effects == null || !_tickingEffects) { return; } ConditionEffects newEffects = 0; _tickingEffects = false; for (var i = 0; i < _effects.Length; i++) { if (_effects[i] > 0) { _effects[i] -= time.ElapsedMsDelta; if (_effects[i] > 0) { newEffects |= (ConditionEffects)((ulong)1 << i); _tickingEffects = true; } else { _effects[i] = 0; } } else if (_effects[i] == -1) { newEffects |= (ConditionEffects)((ulong)1 << i); } } ConditionEffects = newEffects; }
public void TickEffects() { ConditionEffects newEffects = 0; for (int i = 0; i < Effects.Length; i++) { int time = Effects[i]; //No effect to add if (time == 0) { continue; } newEffects |= (ConditionEffects)((ulong)1 << (i - 1)); if (time != -1) //Infinite duration { Effects[i] -= Settings.MillisecondsPerTick; #if DEBUG if (Effects[i] < 0) { throw new Exception("Desynced effect duration"); } #endif } } if (ConditionEffects != newEffects) { ConditionEffects = newEffects; } }
protected virtual void ImportStats(StatsType stats, object val) { if (stats == StatsType.Name) { Name = (string)val; } else if (stats == StatsType.Size) { Size = (int)val; } else if (stats == StatsType.Effects) { ConditionEffects = (ConditionEffects)(int)val; } }
public override void Read(PacketReader r) { TargetId = r.ReadInt32(); byte c = r.ReadByte(); Effects = 0; for (int i = 0; i < c; i++) { Effects |= (ConditionEffects)(1 << r.ReadByte()); } Damage = r.ReadUInt16(); Killed = r.ReadBoolean(); BulletId = r.ReadByte(); ObjectId = r.ReadInt32(); }
protected virtual void ImportStats(StatsType stats, object val) { switch (stats) { case StatsType.Name: Name = (string)val; break; case StatsType.Size: Size = (int)val; break; case StatsType.Effects: ConditionEffects = (ConditionEffects)(int)val; break; } }
private void AEClearConditionEffectAura(RealmTime time, Item item, Position target, ActivateEffect eff) { this.AOE(eff.Range, true, player => { var condition = eff.CheckExistingEffect; ConditionEffects conditions = 0; conditions |= (ConditionEffects)(1 << (Byte)condition.Value); if (!condition.HasValue || player.HasConditionEffect(conditions)) { player.ApplyConditionEffect(new ConditionEffect() { Effect = eff.ConditionEffect.Value, DurationMS = 0 }); } }); }
private void AEClearConditionEffectSelf(RealmTime time, Item item, Position target, ActivateEffect eff) { var condition = eff.CheckExistingEffect; ConditionEffects conditions = 0; if (condition.HasValue) { conditions |= (ConditionEffects)(1 << (Byte)condition.Value); } if (!condition.HasValue || HasConditionEffect(conditions)) { ApplyConditionEffect(new ConditionEffect() { Effect = eff.ConditionEffect.Value, DurationMS = 0 }); } }
private void ProcessConditionEffects(RealmTime time) { if (effects == null || !tickingEffects) { return; } ConditionEffects newEffects = 0; tickingEffects = false; for (int i = 0; i < effects.Length; i++) { if (effects[i] > 0) { effects[i] -= time.thisTickTimes; if (effects[i] > 0) { newEffects |= (ConditionEffects)(1 << i); } else { effects[i] = 0; } tickingEffects = true; } else if (effects[i] != 0) { newEffects |= (ConditionEffects)(1 << i); } } if (newEffects == ConditionEffects) { return; } ConditionEffects = newEffects; UpdateCount++; }
void ProcessConditionEffects(RealmTime time) { if (effects == null || !tickingEffects) { return; } ConditionEffects newEffects = 0; tickingEffects = false; for (int i = 0; i < effects.Length; i++) { if (effects[i] > 0) { effects[i] -= time.ElapsedMsDelta; if (effects[i] > 0) { newEffects |= (ConditionEffects)((ulong)1 << i); } else { effects[i] = 0; } tickingEffects = true; } else if (effects[i] != 0) { newEffects |= (ConditionEffects)((ulong)1 << i); } } if (newEffects != ConditionEffects) { ConditionEffects = newEffects; UpdateCount++; } }
void ProcessConditionEffects(RealmTime time) { if (effects == null || !tickingEffects) return; ConditionEffects newEffects = 0; tickingEffects = false; for (int i = 0; i < effects.Length; i++) if (effects[i] > 0) { effects[i] -= time.thisTickTimes; if (effects[i] > 0) newEffects |= (ConditionEffects)((ulong)1 << i); else effects[i] = 0; tickingEffects = true; } else if (effects[i] != 0) newEffects |= (ConditionEffects)((ulong)1 << i); if (newEffects != ConditionEffects) { ConditionEffects = newEffects; UpdateCount++; } }
public static CheckConditionEffects Instance(ConditionEffects[] effects) { CheckConditionEffects ret; if (!instances.TryGetValue(effects, out ret)) ret = instances[effects] = new CheckConditionEffects(effects); return ret; }
public bool HasConditionEffect(ConditionEffects eff) { return((ConditionEffects & eff) != 0); }
public ConditionalBehavior(ConditionEffects effect, Behavior behavior) { this.effect = effect; this.behavior = behavior; }
// Token: 0x06000290 RID: 656 RVA: 0x00012070 File Offset: 0x00010270 public bool HasConditionEffect(ConditionEffects effect) { return((this.Effects & (int)effect) != 0); }
public bool HasConditionEffect(ConditionEffects effect) { return (Effects & (int)effect) != 0; }
public bool HasConditionEffect(ConditionEffects eff) { return (ConditionEffects & eff) != 0; }
protected virtual void ImportStats(StatsType stats, object val) { if (stats == StatsType.Name) Name = (string)val; else if (stats == StatsType.Size) Size = (int)val; else if (stats == StatsType.Effects) ConditionEffects = (ConditionEffects)(int)val; }