public bool HasInnateTimer( InnateTimerData.Type type ) { if( IsNPC() ) return false; foreach( InnateTimerData itd in ((PC)this).InnateTimers ) { if( itd.AbilityType == type ) return true; } return false; }
void RemoveInnateTimer( InnateTimerData itd ) { if( IsNPC() || ( (PC)this ).InnateTimers.Count == 0 ) return; if( itd == null ) return; if( ( (PC)this ).InnateTimers.Contains( itd ) ) { ( (PC)this ).InnateTimers.Remove( itd ); } return; }
/// <summary> /// Adds an innate timer to prevent immediate reuse of an innate ability. /// </summary> /// <param name="type"></param> /// <param name="timer"></param> public void AddInnateTimer(InnateTimerData.Type type, int timer) { if (IsNPC()) return; if (HasInnateTimer(type)) return; InnateTimerData itd = new InnateTimerData(); itd.AbilityType = type; itd.Timer = timer; itd.Who = this; ((PC)this).InnateTimers.Add(itd); }