public override void OnMovement(Mobile m, Point3D oldLocation) { base.OnMovement(m, oldLocation); int hours, minutes, uoDay, totalUoDays, totalMinutes; Server.Items.Clock.GetTime(m.Map, m.X, m.Y, out hours, out minutes, out totalMinutes); totalUoDays = (int)Math.Ceiling((double)totalMinutes / (60 * 24)); Math.DivRem(totalUoDays, 30, out uoDay); //if (uoDay== 1 || uoDay == 7 || uoDay == 15 || uoDay== 23) // { if (hours >= 6 && hours <= 20) { int marketplace = m_market.Count; int marketplacemob = m_marketmob.Count; if (marketplace >= marketCount && marketplacemob >= marketCount) { return; } bool validLocation = false; Map map = this.Map; switch (Utility.Random(11)) { #region fisherman case 0: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandFishEastAddon market = new MarketStandFishEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; Fisherman marketmob1 = new Fisherman(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region mercer case 1: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandMercerEastAddon market = new MarketStandMercerEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Tailor marketmob1 = new Tailor(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region vegetables case 2: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandVegetablesEastAddon market = new MarketStandVegetablesEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Farmer marketmob1 = new Farmer(); int gx = X - 2; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region cheese case 3: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandCheeseEastAddon market = new MarketStandCheeseEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Farmer marketmob1 = new Farmer(); int gx = X - 1; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region wine case 4: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandWineEastAddon market = new MarketStandWineEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y - 1; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Barkeeper marketmob1 = new Barkeeper(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region herbs case 5: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandHerbsEastAddon market = new MarketStandHerbsEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Herbalist marketmob1 = new Herbalist(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region mushroom case 6: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandMushroomEastAddon market = new MarketStandMushroomEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Herbalist marketmob1 = new Herbalist(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region fur case 7: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandFurEastAddon market = new MarketStandFurEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Furtrader marketmob1 = new Furtrader(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region bee case 8: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandBeeEastAddon market = new MarketStandBeeEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Beekeeper marketmob1 = new Beekeeper(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region copper case 9: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandCopperEastAddon market = new MarketStandCopperEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Blacksmith marketmob1 = new Blacksmith(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion #region tool case 10: { for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location; // MarketStandToolEastAddon market = new MarketStandToolEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc6 = this.Location; // Tinker marketmob1 = new Tinker(); int gx = X + 3; int gy = Y; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } } break; } #endregion } } else { foreach (Item that in m_market) { that.Delete(); } foreach (Mobile thats in m_marketmob) { thats.Delete(); } } }
public override void OnMovement(Mobile m, Point3D oldLocation) { base.OnMovement(m, oldLocation); int hours, minutes, uoDay, totalUoDays, totalMinutes; Server.Items.Clock.GetTime(m.Map, m.X, m.Y, out hours, out minutes, out totalMinutes); totalUoDays = (int)Math.Ceiling((double)totalMinutes / (60 * 24)); Math.DivRem(totalUoDays, 30, out uoDay); //if (uoDay== 1 || uoDay == 7 || uoDay == 15 || uoDay== 23) // { if (hours >= 6 && hours <= 18) { int marketplace = m_market.Count; int marketplacemob = m_marketmob.Count; if (marketplace >= marketCount && marketplacemob >= marketCount) { return; } bool validLocation = false; Map map = this.Map; for (int i = marketplace; i < marketCount; ++i) { if (i == 0) { Point3D marketloc = this.Location;// AG_MarketStandMercerEastAddon market = new AG_MarketStandMercerEastAddon(); for (int k = 0; !validLocation && k < 10; ++k) { int ax = X; int ay = Y + 3; int az = map.GetAverageZ(ax, ay); if (validLocation = map.CanFit(ax, ay, this.Z, 16, false, false)) { marketloc = new Point3D(ax, ay, Z); } else if (validLocation = map.CanFit(ax, ay, az, 16, false, false)) { marketloc = new Point3D(ax, ay, az); } } market.MoveToWorld(marketloc, this.Map); m_market.Add(market); } if (i == 1) { Point3D marketloc1 = this.Location;// AG_MarketStandCheeseSouthAddon market = new AG_MarketStandCheeseSouthAddon(); int bx = X - 3; int by = Y; int bz = map.GetAverageZ(bx, by); if (validLocation = map.CanFit(bx, by, this.Z, 16, false, false)) { marketloc1 = new Point3D(bx, by, Z); } else if (validLocation = map.CanFit(bx, by, bz, 16, false, false)) { marketloc1 = new Point3D(bx, by, bz); } market.MoveToWorld(marketloc1, this.Map); m_market.Add(market); } if (i == 2) { Point3D marketloc2 = this.Location;// MarketStandVegetablesSouthAddon market = new MarketStandVegetablesSouthAddon(); int cx = X + 3; int cy = Y; int cz = map.GetAverageZ(cx, cy); if (validLocation = map.CanFit(cx, cy, this.Z, 16, false, false)) { marketloc2 = new Point3D(cx, cy, Z); } else if (validLocation = map.CanFit(cx, cy, cz, 16, false, false)) { marketloc2 = new Point3D(cx, cy, cz); } market.MoveToWorld(marketloc2, this.Map); m_market.Add(market); } if (i == 3) { Point3D marketloc3 = this.Location;// AG_MarketStandFishEastAddon market = new AG_MarketStandFishEastAddon(); int dx = X; int dy = Y - 3; int dz = map.GetAverageZ(dx, dy); if (validLocation = map.CanFit(dx, dy, this.Z, 16, false, false)) { marketloc3 = new Point3D(dx, dy, Z); } else if (validLocation = map.CanFit(dx, dy, dz, 16, false, false)) { marketloc3 = new Point3D(dx, dy, dz); } market.MoveToWorld(marketloc3, this.Map); m_market.Add(market); } } for (int i = marketplacemob; i < marketmobCount; ++i) { if (i == 0) { Point3D marketloc5 = this.Location;// VegetableFarmer marketmob0 = new VegetableFarmer(); int fx = X + 3; int fy = Y; int fz = map.GetAverageZ(fx, fy); if (validLocation = map.CanFit(fx, fy, this.Z, 16, false, false)) { marketloc5 = new Point3D(fx, fy, Z); } else if (validLocation = map.CanFit(fx, fy, fz, 16, false, false)) { marketloc5 = new Point3D(fx, fy, fz); } marketmob0.Home = marketloc5; marketmob0.RangeHome = 0; marketmob0.MoveToWorld(marketloc5, this.Map); m_marketmob.Add(marketmob0); } if (i == 1) { Point3D marketloc6 = this.Location;// Mercer marketmob1 = new Mercer(); int gx = X - 2; int gy = Y + 3; int gz = map.GetAverageZ(gx, gy); if (validLocation = map.CanFit(gx, gy, this.Z, 16, false, false)) { marketloc6 = new Point3D(gx, gy, Z); } else if (validLocation = map.CanFit(gx, gy, gz, 16, false, false)) { marketloc6 = new Point3D(gx, gy, gz); } marketmob1.Home = marketloc6; marketmob1.RangeHome = 0; marketmob1.MoveToWorld(marketloc6, this.Map); m_marketmob.Add(marketmob1); } if (i == 2) { Point3D marketloc7 = this.Location; // Fisherman marketmob2 = new Fisherman(); int hx = X + 3; int hy = Y - 3; int hz = map.GetAverageZ(hx, hy); if (validLocation = map.CanFit(hx, hy, this.Z, 16, false, false)) { marketloc7 = new Point3D(hx, hy, Z); } else if (validLocation = map.CanFit(hx, hy, hz, 16, false, false)) { marketloc7 = new Point3D(hx, hy, hz); } marketmob2.Home = marketloc7; marketmob2.RangeHome = 0; marketmob2.MoveToWorld(marketloc7, this.Map); m_marketmob.Add(marketmob2); } if (i == 3) { Point3D marketloc8 = this.Location; // CheeseMonger marketmob3 = new CheeseMonger(); int ix = X - 3; int iy = Y - 2; int iz = map.GetAverageZ(ix, iy); if (validLocation = map.CanFit(ix, iy, this.Z, 16, false, false)) { marketloc8 = new Point3D(ix, iy, Z); } else if (validLocation = map.CanFit(ix, iy, iz, 16, false, false)) { marketloc8 = new Point3D(ix, iy, iz); } marketmob3.Home = marketloc8; marketmob3.RangeHome = 0; marketmob3.MoveToWorld(marketloc8, this.Map); m_marketmob.Add(marketmob3); } } } //} else { foreach (Item that in m_market) { that.Delete(); } foreach (Mobile thats in m_marketmob) { thats.Delete(); } } }