private static void FightingStyleOnHit( Mobile mob )
        {
            PlayerMobile pm = mob as PlayerMobile;
            IKhaerosMobile km = mob as IKhaerosMobile;
            if ( pm != null )
                pm.RemoveBuff( BuffIcon.EtherealVoyage );
            double amount = km.Feats.GetFeatLevel(FeatList.FightingStyle)*0.03;

            if ( m_FightingStyleTable.ContainsKey( mob ) )
            {
                m_FightingStyleTable[mob].Bonus += amount;
                m_FightingStyleTable[mob].RefreshTimer( TimeSpan.FromSeconds( 20 ) );
            }
            else
            {
                m_FightingStyleTable[mob] = new BonusTableEntry( amount, TimeSpan.FromSeconds( 20 ), mob, true );
            }
            if ( pm != null )
                pm.AddFightingStyleBuff();
        }
 public BonusTimer( TimeSpan delay, BonusTableEntry parent )
     : base(delay)
 {
     m_Parent = parent;
     Priority = TimerPriority.OneSecond;
 }
        private static void BuildupOnHit( Mobile mob )
        {
            PlayerMobile pm = mob as PlayerMobile;
            IKhaerosMobile km = mob as IKhaerosMobile;
            if ( pm != null )
                pm.RemoveBuff( BuffIcon.AnimalForm );
            double amount = km.Feats.GetFeatLevel(FeatList.Buildup)*0.05;

            if ( m_BuildupTable.ContainsKey( mob ) )
            {
                m_BuildupTable[mob].RefreshTimer( TimeSpan.FromSeconds( 20 ) );
                m_BuildupTable[mob].Bonus += amount;
            }
            else
                m_BuildupTable[mob] = new BonusTableEntry( amount, TimeSpan.FromSeconds( 20 ), mob, false );
            if ( pm != null )
                pm.AddBuildupBuff();
        }