コード例 #1
0
ファイル: FireSpirit.cs プロジェクト: FreeReign/imaginenation
        public override void OnHitsChange(int oldValue)
        {

            if (Map != null && 0.05 > Utility.RandomDouble())
            {
                Map map = Map;

                if (map == null)
                    return;
                BaseCreature spawn = new SpiritMinion();

                spawn.Team = Team;
                bool validLocation = false;
                Point3D loc = Location;

                for (int j = 0; !validLocation && j < 10; ++j)
                {
                    int x = X + Utility.Random(8) - 1;
                    int y = Y + Utility.Random(8) - 1;
                    int z = map.GetAverageZ(x, y);

                    if (validLocation == map.CanFit(x, y, Z, 16, false, false))
                        loc = new Point3D(x, y, Z);
                    else if (validLocation == map.CanFit(x, y, z, 16, false, false))
                        loc = new Point3D(x, y, z);
                }
                PublicOverheadMessage(MessageType.Regular, 0x3B2, true,"In Flam Kal Xen");
                spawn.MoveToWorld(loc, map);
                Effects.SendLocationEffect(new Point3D(X, Y, Z), Map, 0x3709, 30);
            }
            else if (Map != null && 0.04 > Utility.RandomDouble())
            {
                Map map = Map;

                if (map == null)
                    return;
                BaseCreature spawn = new FireElemental();

                spawn.Team = Team;
                bool validLocation = false;
                Point3D loc = Location;

                for (int j = 0; !validLocation && j < 10; ++j)
                {
                    int x = X + Utility.Random(8) - 1;
                    int y = Y + Utility.Random(8) - 1;
                    int z = map.GetAverageZ(x, y);

                    if (validLocation == map.CanFit(x, y, Z, 16, false, false))
                        loc = new Point3D(x, y, Z);
                    else if (validLocation == map.CanFit(x, y, z, 16, false, false))
                        loc = new Point3D(x, y, z);
                }
                PublicOverheadMessage(MessageType.Regular, 0x3B2, true, "Kal Vas Xen Flam");
                spawn.MoveToWorld(loc, map);
                Effects.SendLocationEffect(new Point3D(X, Y, Z), Map, 0x3709, 30);
            }

            base.OnHitsChange(oldValue);
        }
コード例 #2
0
ファイル: FireSpirit.cs プロジェクト: rberiot/imaginenation
        public override void OnHitsChange(int oldValue)
        {
            if (Map != null && 0.05 > Utility.RandomDouble())
            {
                Map map = Map;

                if (map == null)
                {
                    return;
                }
                BaseCreature spawn = new SpiritMinion();

                spawn.Team = Team;
                bool    validLocation = false;
                Point3D loc           = Location;

                for (int j = 0; !validLocation && j < 10; ++j)
                {
                    int x = X + Utility.Random(8) - 1;
                    int y = Y + Utility.Random(8) - 1;
                    int z = map.GetAverageZ(x, y);

                    if (validLocation == map.CanFit(x, y, Z, 16, false, false))
                    {
                        loc = new Point3D(x, y, Z);
                    }
                    else if (validLocation == map.CanFit(x, y, z, 16, false, false))
                    {
                        loc = new Point3D(x, y, z);
                    }
                }
                PublicOverheadMessage(MessageType.Regular, 0x3B2, true, "In Flam Kal Xen");
                spawn.MoveToWorld(loc, map);
                Effects.SendLocationEffect(new Point3D(X, Y, Z), Map, 0x3709, 30);
            }
            else if (Map != null && 0.04 > Utility.RandomDouble())
            {
                Map map = Map;

                if (map == null)
                {
                    return;
                }
                BaseCreature spawn = new FireElemental();

                spawn.Team = Team;
                bool    validLocation = false;
                Point3D loc           = Location;

                for (int j = 0; !validLocation && j < 10; ++j)
                {
                    int x = X + Utility.Random(8) - 1;
                    int y = Y + Utility.Random(8) - 1;
                    int z = map.GetAverageZ(x, y);

                    if (validLocation == map.CanFit(x, y, Z, 16, false, false))
                    {
                        loc = new Point3D(x, y, Z);
                    }
                    else if (validLocation == map.CanFit(x, y, z, 16, false, false))
                    {
                        loc = new Point3D(x, y, z);
                    }
                }
                PublicOverheadMessage(MessageType.Regular, 0x3B2, true, "Kal Vas Xen Flam");
                spawn.MoveToWorld(loc, map);
                Effects.SendLocationEffect(new Point3D(X, Y, Z), Map, 0x3709, 30);
            }

            base.OnHitsChange(oldValue);
        }