示例#1
0
        public override void OnGaveMeleeAttack(Mobile defender)
        {
            base.OnGaveMeleeAttack(defender);

            if (Utility.RandomDouble() < .1 && defender != null)
            {
                PlaySound(0x1DD);

                int impactItemId = 0x3709;
                int impactHue    = 2074;

                Effects.SendLocationParticles(EffectItem.Create(defender.Location, defender.Map, EffectItem.DefaultDuration), impactItemId, 20, 20, impactHue, 0, 0, 0);

                LavaField lavaField = new LavaField(this, 0, 1, LavaDuration, LavaMinDamage, LavaMaxDamage, false, false, true, -1, true);
                lavaField.MoveToWorld(defender.Location, defender.Map);
            }
        }
示例#2
0
        protected override bool OnMove(Direction d)
        {
            if (Utility.RandomDouble() <= .10)
            {
                PlaySound(0x1DD);

                int impactItemId = 0x3709;
                int impactHue    = 2074;

                Effects.SendLocationParticles(EffectItem.Create(Location, Map, EffectItem.DefaultDuration), impactItemId, 20, 20, impactHue, 0, 0, 0);

                LavaField lavaField = new LavaField(this, 0, 1, LavaDuration, LavaMinDamage, LavaMaxDamage, false, false, true, -1, true);
                lavaField.MoveToWorld(Location, Map);
            }

            return(base.OnMove(d));
        }
示例#3
0
        public override bool OnBeforeDeath()
        {
            PlaySound(0x56D);

            int impactItemId = 0x3709;
            int impactHue    = 2074;

            for (int a = 0; a < 5; a++)
            {
                Point3D newLocation = new Point3D(Location.X + Utility.RandomMinMax(-2, 2), Location.Y + Utility.RandomMinMax(-2, 2), Location.Z);
                newLocation.Z = Map.GetSurfaceZ(Location, 30);

                LavaField lavaField = new LavaField(this, 0, 1, LavaDuration, LavaMinDamage, LavaMaxDamage, false, false, true, -1, true);
                lavaField.MoveToWorld(newLocation, Map);

                Effects.SendLocationParticles(EffectItem.Create(newLocation, Map, EffectItem.DefaultDuration), impactItemId, 20, 20, impactHue, 0, 0, 0);
            }

            return(base.OnBeforeDeath());
        }