/// <summary> /// Checks whether the status already contains an effect.. /// </summary> /// <param name="effect">The effect</param> /// <returns>Returns true if the status contains the effect.</returns> public bool ContainsFlag1(Enums.Effect1 effect) { ulong aux = StatusFlag1; aux &= ~(ulong)effect; return(!(aux == StatusFlag1)); }
/// <summary> /// Removes an effect from the client. /// </summary> /// <param name="effect">The effect.</param> public void RemoveFlag1(Enums.Effect1 effect) { if (ContainsFlag1(effect)) { StatusFlag1 &= ~(ulong)effect; Screen.FullUpdate(); } }
/// <summary> /// Adds a status effect. /// </summary> /// <param name="effect">The effect.</param> /// <param name="time">Milliseconds before remove.</param> public void AddStatusEffect1(Enums.Effect1 effect, int time = 0) // 0 = perm { if (!ContainsFlag1(effect)) { if (!ContainsFlag1(Enums.Effect1.Dead) && !ContainsFlag1(Enums.Effect1.Ghost) || effect == Enums.Effect1.TeamLeader) { StatusFlag1 |= (ulong)effect; if (time > 0) { ProjectX_V3_Lib.Threading.DelayedTask.StartDelayedTask( () => { RemoveFlag1(effect); }, time); } Screen.FullUpdate(); } } }