示例#1
0
        public static void RemoveWard( Mobile targ )
        {
            ResistanceMod[] mods = (ResistanceMod[]) m_Table[targ];

            if ( mods != null )
            {
                m_Table.Remove( targ );

                for ( int i = 0; i < mods.Length; ++i )
                    targ.RemoveResistanceMod( mods[i] );

                BuffInfo.RemoveBuff( targ, BuffIcon.MagicReflection );
            }
        }
示例#2
0
        public static void EndReflect( Mobile m )
        {
            if ( m_Table.Contains( m ) )
            {
                ResistanceMod[] mods = (ResistanceMod[]) m_Table[ m ];

                if ( mods != null )
                {
                    for ( int i = 0; i < mods.Length; ++i )
                        m.RemoveResistanceMod( mods[ i ] );
                }

                m_Table.Remove( m );
                BuffInfo.RemoveBuff( m, BuffIcon.MagicReflection );
            }
        }
示例#3
0
		public static void RemoveContext( Mobile m, TransformContext context, bool resetGraphics )
		{
			if( m_Table.ContainsKey( m ) )
			{
				m_Table.Remove( m );

				List<ResistanceMod> mods = context.Mods;

				for( int i = 0; i < mods.Count; ++i )
					m.RemoveResistanceMod( mods[i] );

				if( resetGraphics )
				{
					m.HueMod = -1;
					m.BodyMod = 0;
				}

				context.Timer.Stop();
				context.Spell.RemoveEffect( m );
			}
		}
		public virtual void RemoveResistanceMod( Mobile from )
		{			
			if ( m_Table == null )
				m_Table = new Hashtable();
				
			if ( m_Table[ from ] != null )
			{
				from.RemoveResistanceMod( (ResistanceMod) m_Table[ from ] );
				m_Table[ from ] = null;
			}
		}
		public static void RemoveContext( Mobile m, TransformContext context, bool resetGraphics )
		{
			m_Table.Remove( m );

			List<ResistanceMod> mods = context.Mods;

			for ( int i = 0; i < mods.Count; ++i )
				m.RemoveResistanceMod( mods[i] );

			if ( resetGraphics )
			{
				m.HueMod = -1;
				m.BodyMod = 0;
			}

			context.Timer.Stop();

			if ( context.Type == typeof( HorrificBeastSpell ) )
				m.Delta( MobileDelta.WeaponDamage );
		}
示例#6
0
		public static void EndGuardOff( Mobile m, List<ResistanceMod> mods )
		{
			for ( int i = 0; i < mods.Count; ++i )
				m.RemoveResistanceMod( mods[i] );

			Timer t = m_Table[m.Serial];

			if ( t != null )
				t.Stop();

			m_Table.Remove( m.Serial );

			m.SendMessage( "Your guard returns to normal" );
		}
示例#7
0
        private static void ClearMods( Mobile from, ArrayList mods )
        {
            for ( int i = 0; i < mods.Count; ++i )
            {
                object mod = mods[i];

                if ( mod is ResistanceMod )
                    from.RemoveResistanceMod( (ResistanceMod) mod );
                else if ( mod is StatMod )
                    from.RemoveStatMod( ( (StatMod) mod ).Name );
                else if ( mod is SkillMod )
                    from.RemoveSkillMod( (SkillMod) mod );
            }
        }