コード例 #1
0
        protected override bool OnMove(Direction d)
        {
            if (Utility.RandomDouble() < .15)
            {
                Effects.PlaySound(Location, Map, 0x208);

                UOACZFirefield fireField = new UOACZFirefield(this);

                fireField.MoveToWorld(Location, Map);
            }

            return(base.OnMove(d));
        }
コード例 #2
0
        public override void OnGotMeleeAttack(Mobile attacker)
        {
            base.OnGotMeleeAttack(attacker);

            if (Utility.RandomDouble() < .1)
            {
                Effects.PlaySound(Location, Map, 0x208);

                Point3D newPoint = new Point3D(Location.X + Utility.RandomList(-1, 1), Location.Y + Utility.RandomList(-1, 1), Location.Z);
                SpellHelper.AdjustField(ref newPoint, Map, 12, false);

                UOACZFirefield fireField = new UOACZFirefield(this);
                fireField.MoveToWorld(newPoint, Map);
            }
        }
コード例 #3
0
        public override bool OnBeforeDeath()
        {
            Effects.PlaySound(Location, Map, 0x208);

            int fireFields = Utility.RandomMinMax(2, 3);

            UOACZFirefield fireField = new UOACZFirefield(this);

            fireField.MoveToWorld(Location, Map);

            for (int a = 0; a < fireFields; a++)
            {
                Point3D newPoint = new Point3D(Location.X + Utility.RandomList(-1, 1), Location.Y + Utility.RandomList(-1, 1), Location.Z);
                SpellHelper.AdjustField(ref newPoint, Map, 12, false);

                new UOACZFirefield(this).MoveToWorld(newPoint, Map);
            }

            return(base.OnBeforeDeath());
        }