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); }
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); }