public static void RemoveBeacon(PlunderBeaconAddon beacon) { if (Beacons != null && Beacons.Contains(beacon)) { Beacons.Remove(beacon); } }
public void SystemDeactivate() { if (Timer != null) { Timer.Stop(); Timer = null; } List <PlunderBeaconAddon> list = new List <PlunderBeaconAddon>(); foreach (KeyValuePair <PlunderZone, List <PlunderBeaconAddon> > kvp in PlunderBeacons) { list.AddRange(kvp.Value); } for (var index = 0; index < list.Count; index++) { PlunderBeaconAddon beacon = list[index]; beacon.Delete(); } PlunderBeacons.Clear(); Spawner = null; }
public static void AddBeacon(PlunderBeaconAddon beacon) { if (Beacons == null) { Beacons = new List <PlunderBeaconAddon>(); } Beacons.Add(beacon); }
public static void AddPlunderBeacon(PlunderZone zone, PlunderBeaconAddon beacon) { if (Spawner == null) { return; } if (!Spawner.PlunderBeacons[zone].Contains(beacon)) { Spawner.PlunderBeacons[zone].Add(beacon); } }
public PlunderBeacon(PlunderBeaconAddon controller) { Controller = controller; Name = "a plunderbeacon"; ResistBasePhys = 0; ResistBaseFire = 0; ResistBaseCold = 0; ResistBasePoison = 0; ResistBaseEnergy = 0; HitsMax = 65001; Hits = HitsMax; }
public void RemovePlunderBeacon(PlunderBeaconAddon beacon) { if (Spawner == null || Spawner.PlunderBeacons == null) { return; } foreach (var kvp in Spawner.PlunderBeacons) { if (kvp.Value.Contains(beacon)) { kvp.Value.Remove(beacon); } } }
public void RemovePlunderBeacon(PlunderBeaconAddon beacon) { if (Spawner == null || Spawner.PlunderBeacons == null) { return; } foreach (KeyValuePair <PlunderZone, List <PlunderBeaconAddon> > kvp in Spawner.PlunderBeacons) { if (kvp.Value.Contains(beacon)) { kvp.Value.Remove(beacon); } } }
public void Spawn(PlunderZone zone, int amount) { Map map = Map.Trammel; if (zone == PlunderZone.Fel) { map = Map.Felucca; } else if (zone > PlunderZone.Fel) { map = Map.Tokuno; } for (int i = 0; i < amount; i++) { var rec = _Zones[(int)zone]; Point3D p; while (true) { p = map.GetRandomSpawnPoint(rec); //new Point3D(rec.X + Utility.Random(rec.Width), rec.Y + Utility.RandomMinMax(rec.Start.X, rec.Height), -5); if (p.Z != -5) { p.Z = -5; } var bounds = new Rectangle2D(p.X - 7, p.Y - 7, 15, 15); bool badSpot = false; for (int x = bounds.Start.X; x <= bounds.Start.X + bounds.Width; x++) { for (int y = bounds.Start.Y; y <= bounds.Start.Y + bounds.Height; y++) { if (BaseBoat.FindBoatAt(new Point3D(x, y, -5), map) != null || !SpecialFishingNet.ValidateDeepWater(map, x, y)) { badSpot = true; break; } } if (badSpot) { break; } } if (!badSpot) { IPooledEnumerable eable = map.GetMobilesInBounds(bounds); foreach (Mobile m in eable) { if (m.AccessLevel == AccessLevel.Player) { badSpot = true; break; } } eable.Free(); if (!badSpot) { var beacon = new PlunderBeaconAddon(); beacon.MoveToWorld(p, map); PlunderBeacons[zone].Add(beacon); break; } } } } }