public void Chop(Mobile from) { if (from.InRange(this.GetWorldLocation(), 1)) { if (from == m_sower) { from.Direction = from.GetDirectionTo(this); double lumberValue = from.Skills[SkillName.Lumberjacking].Value / 100; if ((lumberValue > .5) && (Utility.RandomDouble() <= lumberValue)) { ChiliPepper fruit = new ChiliPepper(Utility.Random(m_yield + 2)); from.AddToBackpack(fruit); if (Utility.RandomDouble() <= .1) { Vines logs = new Vines(); from.AddToBackpack(logs); } } this.Delete(); from.SendMessage("You chop the plant up"); } else { from.SendMessage("You do not own this plant !!!"); } } else { from.SendLocalizedMessage(500446); } }
public static InventoryItem CreateInventoryItem(string key, TeamType team, string region, Vector2 location, ContentManager content, GraphicsDevice graphics) { InventoryItem item = null; int amountStacked = 1; switch (key) { case ("tribalTokens"): item = new TribalTokens(team, region, location, content, graphics); break; case ("basePlank"): item = new BasePlank(team, region, location, content, graphics); break; case ("shortSword"): item = new ShortSword(team, region, location, content, graphics); break; case ("softWood"): item = new SoftWood(team, region, location, content, graphics); break; case ("islandGrass"): item = new IslandGrass(team, region, location, content, graphics); break; case ("coal"): item = new Coal(team, region, location, content, graphics); break; case ("ironOre"): item = new IronOre(team, region, location, content, graphics); break; case ("baseSword"): item = new BaseSword(team, region, location, content, graphics); break; case ("anvilItem"): item = new AnvilItem(team, region, location, content, graphics); item.placeableVersion = new CraftingAnvil(team, region, location, content, graphics); break; case ("baseChestItem"): item = new BaseChestItem(team, region, location, content, graphics); item.placeableVersion = new BaseChest(team, region, location, content, graphics); break; case ("nails"): item = new Nails(team, region, location, content, graphics); amountStacked = 5; break; case ("cannonBallItem"): item = new CannonBallItem(team, region, location, content, graphics); amountStacked = 3; break; case ("pistolShotItem"): item = new PistolShotItem(team, region, location, content, graphics); amountStacked = 5; break; case ("ironBar"): item = new IronBar(team, region, location, content, graphics); break; case ("treasureMapItem"): item = new TreasureMapItem(null, team, region, location, content, graphics); break; case ("chiliFish"): item = new ChiliFish(team, region, location, content, graphics); break; case ("chiliPepper"): item = new ChiliPepper(team, region, location, content, graphics); break; case ("cookedFish"): item = new CookedFish(team, region, location, content, graphics); break; case ("cookedMeat"): item = new CookedMeat(team, region, location, content, graphics); break; case ("rawFish"): item = new RawFish(team, region, location, content, graphics); break; case ("rawMeat"): item = new RawMeat(team, region, location, content, graphics); break; case ("spoiledFish"): item = new SpoiledFish(team, region, location, content, graphics); break; case ("spoiledMeat"): item = new SpoiledMeat(team, region, location, content, graphics); break; case ("feather"): item = new Feather(team, region, location, content, graphics); break; case ("scales"): item = new Scales(team, region, location, content, graphics); break; case ("fishOil"): item = new FishOil(team, region, location, content, graphics); break; case ("goldCoins"): item = new GoldCoins(team, region, location, content, graphics); break; } item.itemKey = key; item.amountStacked = amountStacked; return(item); }
public override void OnDoubleClick(Mobile from) { if (m_sower == null || m_sower.Deleted) { m_sower = from; } if (from != m_sower) { from.SendMessage("You do not own this plant !!!"); return; } if (from.Mounted && !CropHelper.CanWorkMounted) { from.SendMessage("You cannot harvest a crop while mounted."); return; } if (DateTime.UtcNow > lastpicked.AddSeconds(3)) { lastpicked = DateTime.UtcNow; int cookValue = (int)from.Skills[SkillName.Cooking].Value / 20; if (cookValue == 0) { from.SendMessage("You have no idea how to harvest this crop."); return; } if (from.InRange(this.GetWorldLocation(), 1)) { if (m_yield < 1) { from.SendMessage("There is nothing here to harvest."); } else { from.Direction = from.GetDirectionTo(this); from.Animate(from.Mounted ? 29:32, 5, 1, true, false, 0); m_lastvisit = DateTime.UtcNow; if (cookValue > m_yield) { cookValue = m_yield + 1; } int pick = Utility.RandomMinMax(cookValue - 4, cookValue); if (pick < 0) { pick = 0; } if (pick == 0) { from.SendMessage("You do not manage to harvest any crops."); return; } m_yield -= pick; from.SendMessage("You harvest {0} crop{1}!", pick, (pick == 1 ? "" : "s")); if (m_yield < 1) { ((Item)this).ItemID = pickedGraphic; } ChiliPepper crop = new ChiliPepper(pick); from.AddToBackpack(crop); if (!regrowTimer.Running) { regrowTimer.Start(); } } } else { from.SendMessage("You are too far away to harvest anything."); } } }
public override void OnDoubleClick(Mobile from) { if (m_sower == null || m_sower.Deleted) { m_sower = from; } if (from.Mounted && !CropHelper.CanWorkMounted) { from.SendMessage("You cannot harvest a crop while mounted."); return; } if (DateTime.Now > lastpicked.AddSeconds(3)) // 3 seconds between picking { lastpicked = DateTime.Now; int cookingValue = (int)from.Skills[SkillName.Cooking].Value / 20; if (cookingValue == 0) { from.SendMessage("You have no idea how to harvest this crop."); return; } if (from.InRange(this.GetWorldLocation(), 1)) { if (m_yield < 1) { from.SendMessage("There is nothing here to harvest."); if (PlayerCanDestroy && !(m_sower.AccessLevel > AccessLevel.Counselor)) { UpRootGump g = new UpRootGump(from, this); from.SendGump(g); } } else //check skill and sower { from.Direction = from.GetDirectionTo(this); from.Animate(from.Mounted ? 29:32, 5, 1, true, false, 0); if (from == m_sower) { cookingValue *= 2; m_lastvisit = DateTime.Now; } if (cookingValue > m_yield) { cookingValue = m_yield + 1; } int pick = Utility.Random(cookingValue); if (pick == 0) { from.SendMessage("You do not manage to harvest any crops."); return; } m_yield -= pick; from.SendMessage("You harvest {0} crop{1}!", pick, (pick == 1 ? "" : "s")); //PublicOverheadMessage( MessageType.Regular, 0x3BD, false, string.Format( "{0}", m_yield )); ((Item)this).ItemID = pickedGraphic; ChiliPepper crop = new ChiliPepper(pick); from.AddToBackpack(crop); if (SowerPickTime != TimeSpan.Zero && m_lastvisit + SowerPickTime < DateTime.Now && !(m_sower.AccessLevel > AccessLevel.Counselor)) { this.UpRoot(from); return; } if (!regrowTimer.Running) { //regrowTimer = new CropTimer( this ); regrowTimer.Start(); } } } else { from.SendMessage("You are too far away to harvest anything."); } } }