public static void SendHallucinationItem( PlayerMobile hallucinator, IEntity e, int itemID, int speed, int duration, int renderMode, int hue ) { Map map = e.Map; if ( map != null && hallucinator != null ) { Packet regular = null; NetState state = hallucinator.NetState; if ( state != null ) { hallucinator.ProcessDelta(); /*switch ( Utility.Random( 16 )) { case 0: hallucinator.FixedParticles( 0x373A, 10, 15, 5018, EffectLayer.Waist ); break; case 1: hallucinator.FixedParticles( 0x374A, 10, 15, 5018, EffectLayer.Head ); break; case 2: hallucinator.FixedParticles( 0x375A, 10, 15, 5018, EffectLayer.Waist ); break; case 3: hallucinator.FixedParticles( 0x376A, 10, 15, 5018, EffectLayer.Head ); break; default: break; }*/ regular = new LocationEffect( e, itemID, speed, duration, renderMode, hue ); state.Send( regular ); } } }
public static void SendLocationParticles( IEntity e, int itemID, int speed, int duration, int hue, int renderMode, int effect, int unknown ) { Map map = e.Map; if ( map != null ) { Packet particles = null, regular = null; IPooledEnumerable eable = map.GetClientsInRange( e.Location ); foreach ( NetState state in eable ) { state.Mobile.ProcessDelta(); if ( SendParticlesTo( state ) ) { if ( particles == null ) particles = new LocationParticleEffect( e, itemID, speed, duration, hue, renderMode, effect, unknown ); state.Send( particles ); } else if ( itemID != 0 ) { if ( regular == null ) regular = new LocationEffect( e, itemID, speed, duration, hue, renderMode ); state.Send( regular ); } } eable.Free(); } //SendPacket( e.Location, e.Map, new LocationParticleEffect( e, itemID, speed, duration, hue, renderMode, effect, unknown ) ); }