Esempio n. 1
0
        public void Use(Mobile from)
        {
            if (!CanUse(from))
            {
                return;
            }

            PlayerMobile pm = from as PlayerMobile;

            if (pm == null)
            {
                return;
            }

            from.SendLocalizedMessage(1077956);               // You are infused with intense energy. You are under the effects of an accelerated skillgain scroll.

            Effects.SendLocationParticles(EffectItem.Create(from.Location, from.Map, EffectItem.DefaultDuration), 0, 0, 0, 0, 0, 5060, 0);
            Effects.PlaySound(from.Location, from.Map, 0x243);

            Effects.SendMovingParticles(new DummyEntity(Serial.Zero, new Point3D(from.X - 6, from.Y - 6, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer)255, 0x100);
            Effects.SendMovingParticles(new DummyEntity(Serial.Zero, new Point3D(from.X - 4, from.Y - 6, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer)255, 0x100);
            Effects.SendMovingParticles(new DummyEntity(Serial.Zero, new Point3D(from.X - 6, from.Y - 4, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer)255, 0x100);

            Effects.SendTargetParticles(from, 0x375A, 35, 90, 0x00, 0x00, 9502, (EffectLayer)255, 0x100);

            Delete();

            var expireTimer = Timer.DelayCall(m_Duration,
                                              delegate
            {
                m_Table.Remove(from);

                from.PlaySound(0x1F8);

                from.SendLocalizedMessage(1077957);                           // The intense energy dissipates. You are no longer under the effects of an accelerated skillgain scroll.
            });

            m_Table[from] = new ScrollOfAlacrityContext(Skill, expireTimer);
        }
Esempio n. 2
0
        public void Use( Mobile from )
        {
            if ( !CanUse( from ) )
                return;

            PlayerMobile pm = from as PlayerMobile;

            if ( pm == null )
                return;

            from.SendLocalizedMessage( 1077956 ); // You are infused with intense energy. You are under the effects of an accelerated skillgain scroll.

            Effects.SendLocationParticles( EffectItem.Create( from.Location, from.Map, EffectItem.DefaultDuration ), 0, 0, 0, 0, 0, 5060, 0 );
            Effects.PlaySound( from.Location, from.Map, 0x243 );

            Effects.SendMovingParticles( new DummyEntity( Serial.Zero, new Point3D( from.X - 6, from.Y - 6, from.Z + 15 ), from.Map ), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer) 255, 0x100 );
            Effects.SendMovingParticles( new DummyEntity( Serial.Zero, new Point3D( from.X - 4, from.Y - 6, from.Z + 15 ), from.Map ), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer) 255, 0x100 );
            Effects.SendMovingParticles( new DummyEntity( Serial.Zero, new Point3D( from.X - 6, from.Y - 4, from.Z + 15 ), from.Map ), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer) 255, 0x100 );

            Effects.SendTargetParticles( from, 0x375A, 35, 90, 0x00, 0x00, 9502, (EffectLayer) 255, 0x100 );

            Delete();

            var expireTimer = Timer.DelayCall( m_Duration,
                delegate
                {
                    m_Table.Remove( from );

                    from.PlaySound( 0x1F8 );

                    from.SendLocalizedMessage( 1077957 ); // The intense energy dissipates. You are no longer under the effects of an accelerated skillgain scroll.
                } );

            m_Table[from] = new ScrollOfAlacrityContext( Skill, expireTimer );
        }