public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_ProductType = (TreeProductType)reader.ReadInt(); m_Product = (TreeProduct)reader.ReadInt(); }
public TreeProductItem(TreeProduct product) { Stackable = false; m_Product = product; switch (product) { case TreeProduct.CrushedAcorn: ItemID = 0x1604; ProductType = TreeProductType.Spice; break; case TreeProduct.AshStain: ItemID = 0x183B; Hue = 845; ProductType = TreeProductType.Crafting; break; case TreeProduct.BeechGum: ItemID = 0x1604; ProductType = TreeProductType.Food; break; case TreeProduct.CrushedBeechnut: ItemID = 0x1604; ProductType = TreeProductType.Spice; break; case TreeProduct.CherryStain: ItemID = 0x1604; Hue = 405; ProductType = TreeProductType.Crafting; break; case TreeProduct.BlackOakStain: ItemID = 0x183B; Hue = 435; ProductType = TreeProductType.Crafting; break; case TreeProduct.OliveOil: ItemID = 0x183B; ProductType = TreeProductType.Food; break; case TreeProduct.CactusNeedle: ItemID = 0x1604; Hue = 270; ProductType = TreeProductType.Crafting; break; case TreeProduct.CassiaPowder: ItemID = 0x1604; Hue = 735; ProductType = TreeProductType.Medicine; break; case TreeProduct.CedarChips: ItemID = 0x1604; Hue = 835; ProductType = TreeProductType.Reagent; break; case TreeProduct.CherrySyrup: ItemID = 0x183C; Hue = 135; ProductType = TreeProductType.Medicine; break; case TreeProduct.CypressPaste: ItemID = 0x1604; ProductType = TreeProductType.Medicine; break; case TreeProduct.DogwoodPowder: ItemID = 0x1604; Hue = 868; ProductType = TreeProductType.Reagent; break; case TreeProduct.EssenceOfEucalyptus: ItemID = 0x183B; ProductType = TreeProductType.Medicine; break; case TreeProduct.FigNewtons: ItemID = 0x1604; Hue = 20; ProductType = TreeProductType.Food; break; case TreeProduct.PearSauce: ItemID = 0x183B; Hue = 51; ProductType = TreeProductType.Food; break; case TreeProduct.PeachWine: ItemID = 0x183B; ProductType = TreeProductType.Food; break; case TreeProduct.HickoryFlavor: ItemID = 0x183B; Hue = 860; ProductType = TreeProductType.Spice; break; case TreeProduct.IronwoodPowder: ItemID = 0x1604; Hue = 749; ProductType = TreeProductType.Reagent; break; case TreeProduct.JuniperTea: ItemID = 0x183B; ProductType = TreeProductType.Food; break; case TreeProduct.MapleSyrup: ItemID = 0x183B; Hue = 147; ProductType = TreeProductType.Food; break; case TreeProduct.OakStain: ItemID = 0x183B; Hue = 644; ProductType = TreeProductType.Crafting; break; case TreeProduct.OhiiPowder: ItemID = 0x1604; ProductType = TreeProductType.Medicine; break; case TreeProduct.HeartOfPalm: ItemID = 0x1604; Hue = 345; ProductType = TreeProductType.Medicine; break; case TreeProduct.PalmOil: ItemID = 0x183B; Hue = 245; ProductType = TreeProductType.Medicine; break; case TreeProduct.PineTar: ItemID = 0x183B; Hue = 260; ProductType = TreeProductType.Crafting; break; case TreeProduct.PruneJuice: ItemID = 0x183C; ProductType = TreeProductType.Food; break; case TreeProduct.AppleSauce: ItemID = 0x1604; ProductType = TreeProductType.Food; break; case TreeProduct.AppleCider: ItemID = 0x183B; ProductType = TreeProductType.Food; break; case TreeProduct.AppleVinegar: ItemID = 0x183B; ProductType = TreeProductType.Medicine; break; case TreeProduct.ApplePowder: ItemID = 0x1604; ProductType = TreeProductType.Spice; break; case TreeProduct.BananaPuree: ItemID = 0x1604; ProductType = TreeProductType.Food; break; case TreeProduct.SandalwoodPowder: ItemID = 0x1604; Hue = 248; ProductType = TreeProductType.Reagent; break; case TreeProduct.SandalwoodSyrup: ItemID = 0x183B; Hue = 248; ProductType = TreeProductType.Spice; break; case TreeProduct.SpiderSprigs: ItemID = 0x1604; ProductType = TreeProductType.Reagent; break; case TreeProduct.Syrup: ItemID = 0x183B; ProductType = TreeProductType.Food; break; case TreeProduct.MincedDates: ItemID = 0x1604; ProductType = TreeProductType.Food; break; case TreeProduct.WalnutStain: ItemID = 0x183C; ProductType = TreeProductType.Crafting; break; case TreeProduct.ShavedCoconut: ItemID = 0x1604; ProductType = TreeProductType.Food; break; case TreeProduct.WillowOil: ItemID = 0x183B; ProductType = TreeProductType.Crafting; break; case TreeProduct.YewShavings: ItemID = 0x1604; Hue = 865; ProductType = TreeProductType.Crafting; break; case TreeProduct.YuccaExtract: ItemID = 0x183C; ProductType = TreeProductType.Medicine; break; } }
public static void Grind(TreeResourceItem resource, Mobile from, HarvestSuccessRating rating, TreeProduct product, Container pack) { switch (rating) { case HarvestSuccessRating.PartialSuccess: case HarvestSuccessRating.Success: { TreeProductItem item = new TreeProductItem(product); if (item.ItemID == 0x183B && !pack.ConsumeTotal(typeof(LargeEmptyFlask), 1)) { from.SendMessage( "You need an empty flask in your pack to store the {0}. The resource was lost.", item.Name); resource.Consume(1); item.Delete(); } else if (item.ItemID == 0x1604 && !pack.ConsumeTotal(typeof(EmptyWoodenBowl), 1)) { from.SendMessage( "You need an empty bowl in your pack to store the {0}. The resource was lost.", item.Name); resource.Consume(1); item.Delete(); } else if (from.AddToBackpack(item) || item.DropToWorld(from, from.Location)) { from.SendMessage("You grind the resource into {0}.", item.Name); resource.Consume(1); } else { from.SendMessage("Unable to create the {0}.", item.Name); item.Delete(); } break; } case HarvestSuccessRating.Failure: { from.SendMessage("You fail to grind the resource."); break; } } }
private void ResetValues() { grindable = false; cookable = false; grindResult = (TreeProduct)(-1); cookResult = (TreeProduct)(-1); switch (m_Resource) { case TreeResource.Acorn: ItemID = 0x09EA; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CrushedAcorn; break; case TreeResource.AppleBark: ItemID = 0x318F; Hue = 652; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.ApplePowder; break; case TreeResource.AshBark: ItemID = 0x318F; Hue = 845; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.AshStain; break; case TreeResource.BeechBark: ItemID = 0x318F; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.BeechGum; break; case TreeResource.Beechnut: ItemID = 0x09EA; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CrushedBeechnut; break; case TreeResource.BlackCherry: ItemID = 0xF7A; Hue = 405; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CherryStain; break; case TreeResource.BlackOakBark: ItemID = 0x318F; Hue = 435; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.BlackOakStain; break; case TreeResource.BlackOlives: ItemID = 0x1727; Hue = 0; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.OliveOil; break; case TreeResource.CactusSpine: ItemID = 0x1BD4; Hue = 270; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.CactusNeedle; break; case TreeResource.CassiaBark: ItemID = 0x318F; Hue = 735; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.CassiaPowder; break; case TreeResource.CedarBark: ItemID = 0x318F; Hue = 835; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.CedarChips; break; case TreeResource.Cherry: ItemID = 0xF7A; Hue = 135; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.CherrySyrup; break; case TreeResource.CypressLeaves: ItemID = 0x0C3B; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.CypressPaste; break; case TreeResource.DogwoodBark: ItemID = 0x2F5F; Hue = 868; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.DogwoodPowder; break; case TreeResource.EucalyptusLeaves: ItemID = 0x0C3D; ResourceType = TreeResourceType.LeafSpine; cookResult = TreeProduct.EssenceOfEucalyptus; break; case TreeResource.FigFruit: ItemID = 0x994; Hue = 20; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.FigNewtons; break; case TreeResource.GoldenPear: ItemID = 0x994; Hue = 51; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.PearSauce; break; case TreeResource.GreenOlives: ItemID = 0x1727; Hue = 50; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.OliveOil; break; case TreeResource.HarvestPeach: ItemID = 0x9D2; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.PeachWine; break; case TreeResource.HickoryBark: ItemID = 0x318F; Hue = 860; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.HickoryFlavor; break; case TreeResource.IronwoodBark: ItemID = 0x318F; Hue = 749; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.IronwoodPowder; break; case TreeResource.JuniperLeaves: ItemID = 0x1784; ResourceType = TreeResourceType.LeafSpine; cookResult = TreeProduct.JuniperTea; break; case TreeResource.MapleTreeSap: ItemID = 0x09EC; Hue = 147; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.MapleSyrup; break; case TreeResource.OakBark: ItemID = 0x318F; Hue = 644; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.OakStain; break; case TreeResource.OhiiRoot: ItemID = 0x0C73; ResourceType = TreeResourceType.RootBranch; grindResult = TreeProduct.OhiiPowder; break; case TreeResource.PalmHusks: ItemID = 0x09EA; Hue = 345; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.HeartOfPalm; break; case TreeResource.PalmTreeSap: ItemID = 0x09EC; Hue = 245; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.PalmOil; break; case TreeResource.PineTreeSap: ItemID = 0x09EC; Hue = 260; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.PineTar; break; case TreeResource.Plum: ItemID = 0x9D2; Hue = 312; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.PruneJuice; break; case TreeResource.RedApple: ItemID = 0x9D0; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.AppleSauce; break; case TreeResource.RipeBanana: ItemID = 0x1720; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.BananaPuree; break; case TreeResource.SandalwoodRoot: ItemID = 0x0C73; Hue = 248; ResourceType = TreeResourceType.RootBranch; grindResult = TreeProduct.SandalwoodPowder; break; case TreeResource.SandalwoodSap: ItemID = 0x09EC; Hue = 248; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.SandalwoodSyrup; break; case TreeResource.SpiderTreeLeaves: ItemID = 0x0CB4; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.SpiderSprigs; break; case TreeResource.TreeSap: ItemID = 0x09EC; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.Syrup; break; case TreeResource.TropicalDates: ItemID = 0x1727; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.MincedDates; break; case TreeResource.Walnut: ItemID = 0x09EA; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.WalnutStain; break; case TreeResource.WholeCoconut: ItemID = 0x1726; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CoconutOil; break; case TreeResource.WillowBark: ItemID = 0x318F; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.WillowOil; break; case TreeResource.YewBark: ItemID = 0x318F; Hue = 865; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.YewShavings; break; case TreeResource.YuccaRoot: ItemID = 0x0C73; ResourceType = TreeResourceType.RootBranch; cookResult = TreeProduct.YuccaExtract; break; } if ((int)grindResult >= 0) { grindable = true; } if ((int)cookResult >= 0) { cookable = true; } }
public static void Cook(TreeResourceItem resource, Mobile from, SuccessRating rating, TreeProduct product, Container pack) { switch (rating) { case SuccessRating.PartialSuccess: case SuccessRating.Success: case SuccessRating.CompleteSuccess: case SuccessRating.ExceptionalSuccess: case SuccessRating.TooEasy: { TreeProductItem item = new TreeProductItem(product); if (item.ItemID == 0x183B && !pack.ConsumeTotal(typeof(LargeEmptyFlask), 1)) { from.SendMessage("You need an empty flask in your pack to store the {0}. The resource was lost.", item.Name); resource.Consume(1); item.Delete(); } else if (item.ItemID == 0x1604 && !pack.ConsumeTotal(typeof(EmptyWoodenBowl), 1)) { from.SendMessage("You need an empty bowl in your pack to store the {0}. The resource was lost.", item.Name); resource.Consume(1); item.Delete(); } else if (from.AddToBackpack(item) || item.DropToWorld(from, from.Location)) { from.SendMessage("You cook the resource and turn it in to {0}.", item.Name); resource.Consume(1); } else { from.SendMessage("Unable to create the {0}.", item.Name); item.Delete(); } break; } case SuccessRating.Failure: { from.SendMessage("You fail to cook the resource."); break; } case SuccessRating.HazzardousFailure: { from.SendMessage("You burn the resource and are left with nothing usable."); resource.Consume(1); break; } case SuccessRating.CriticalFailure: case SuccessRating.TooDifficult: { from.SendMessage("You burn the resource and your hands too!"); from.Damage(Utility.RandomMinMax(1, 5)); from.Animate(34, 5, 1, true, false, 0); from.Emote("Ouch!"); resource.Consume(1); break; } case SuccessRating.LokaiSkillNotEnabled: { from.SendMessage("This lokaiSkill is not enabled."); // Should never happen, but just in case... break; } } }
private void ResetValues() { grindable = false; cookable = false; grindResult = (TreeProduct)(-1); cookResult = (TreeProduct)(-1); switch (m_Resource) { case TreeResource.Acorn: ItemID = 0x09EA; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CrushedAcorn; break; case TreeResource.AppleBark: ItemID = 0x318F; Hue = 652; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.ApplePowder; break; case TreeResource.AshBark: ItemID = 0x318F; Hue = 845; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.AshStain; break; case TreeResource.BeechBark: ItemID = 0x318F; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.BeechGum; break; case TreeResource.Beechnut: ItemID = 0x09EA; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CrushedBeechnut; break; case TreeResource.BlackCherry: ItemID = 0xF7A; Hue = 405; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CherryStain; break; case TreeResource.BlackOakBark: ItemID = 0x318F; Hue = 435; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.BlackOakStain; break; case TreeResource.BlackOlives: ItemID = 0x1727; Hue = 0; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.OliveOil; break; case TreeResource.CactusSpine: ItemID = 0x1BD4; Hue = 270; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.CactusNeedle; break; case TreeResource.CassiaBark: ItemID = 0x318F; Hue = 735; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.CassiaPowder; break; case TreeResource.CedarBark: ItemID = 0x318F; Hue = 835; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.CedarChips; break; case TreeResource.Cherry: ItemID = 0xF7A; Hue = 135; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.CherrySyrup; break; case TreeResource.CypressLeaves: ItemID = 0x0C3B; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.CypressPaste; break; case TreeResource.DogwoodBark: ItemID = 0x2F5F; Hue = 868; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.DogwoodPowder; break; case TreeResource.EucalyptusLeaves: ItemID = 0x0C3D; ResourceType = TreeResourceType.LeafSpine; cookResult = TreeProduct.EssenceOfEucalyptus; break; case TreeResource.FigFruit: ItemID = 0x994; Hue = 20; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.FigNewtons; break; case TreeResource.GoldenPear: ItemID = 0x994; Hue = 51; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.PearSauce; break; case TreeResource.GreenOlives: ItemID = 0x1727; Hue = 50; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.OliveOil; break; case TreeResource.HarvestPeach: ItemID = 0x9D2; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.PeachWine; break; case TreeResource.HickoryBark: ItemID = 0x318F; Hue = 860; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.HickoryFlavor; break; case TreeResource.IronwoodBark: ItemID = 0x318F; Hue = 749; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.IronwoodPowder; break; case TreeResource.JuniperLeaves: ItemID = 0x1784; ResourceType = TreeResourceType.LeafSpine; cookResult = TreeProduct.JuniperTea; break; case TreeResource.MapleTreeSap: ItemID = 0x09EC; Hue = 147; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.MapleSyrup; break; case TreeResource.OakBark: ItemID = 0x318F; Hue = 644; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.OakStain; break; case TreeResource.OhiiRoot: ItemID = 0x0C73; ResourceType = TreeResourceType.RootBranch; grindResult = TreeProduct.OhiiPowder; break; case TreeResource.PalmHusks: ItemID = 0x09EA; Hue = 345; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.HeartOfPalm; break; case TreeResource.PalmTreeSap: ItemID = 0x09EC; Hue = 245; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.PalmOil; break; case TreeResource.PineTreeSap: ItemID = 0x09EC; Hue = 260; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.PineTar; break; case TreeResource.Plum: ItemID = 0x9D2; Hue = 312; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.PruneJuice; break; case TreeResource.RedApple: ItemID = 0x9D0; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.AppleSauce; break; case TreeResource.RipeBanana: ItemID = 0x1720; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.BananaPuree; break; case TreeResource.SandalwoodRoot: ItemID = 0x0C73; Hue = 248; ResourceType = TreeResourceType.RootBranch; grindResult = TreeProduct.SandalwoodPowder; break; case TreeResource.SandalwoodSap: ItemID = 0x09EC; Hue = 248; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.SandalwoodSyrup; break; case TreeResource.SpiderTreeLeaves: ItemID = 0x0CB4; ResourceType = TreeResourceType.LeafSpine; grindResult = TreeProduct.SpiderSprigs; break; case TreeResource.TreeSap: ItemID = 0x09EC; ResourceType = TreeResourceType.SapJuice; cookResult = TreeProduct.Syrup; break; case TreeResource.TropicalDates: ItemID = 0x1727; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.MincedDates; break; case TreeResource.Walnut: ItemID = 0x09EA; ResourceType = TreeResourceType.FruitNut; cookResult = TreeProduct.WalnutStain; break; case TreeResource.WholeCoconut: ItemID = 0x1726; ResourceType = TreeResourceType.FruitNut; grindResult = TreeProduct.CoconutOil; break; case TreeResource.WillowBark: ItemID = 0x318F; ResourceType = TreeResourceType.BarkSkin; cookResult = TreeProduct.WillowOil; break; case TreeResource.YewBark: ItemID = 0x318F; Hue = 865; ResourceType = TreeResourceType.BarkSkin; grindResult = TreeProduct.YewShavings; break; case TreeResource.YuccaRoot: ItemID = 0x0C73; ResourceType = TreeResourceType.RootBranch; cookResult = TreeProduct.YuccaExtract; break; } if ((int)grindResult >= 0) grindable = true; if ((int)cookResult >= 0) cookable = true; }
public static void Cook(TreeResourceItem resource, Mobile from, HarvestSuccessRating rating, TreeProduct product, Container pack) { switch (rating) { case HarvestSuccessRating.PartialSuccess: case HarvestSuccessRating.Success: { TreeProductItem item = new TreeProductItem(product); if (item.ItemID == 0x183B && !pack.ConsumeTotal(typeof (LargeEmptyFlask), 1)) { from.SendMessage( "You need an empty flask in your pack to store the {0}. The resource was lost.", item.Name); resource.Consume(1); item.Delete(); } else if (item.ItemID == 0x1604 && !pack.ConsumeTotal(typeof (EmptyWoodenBowl), 1)) { from.SendMessage( "You need an empty bowl in your pack to store the {0}. The resource was lost.", item.Name); resource.Consume(1); item.Delete(); } else if (from.AddToBackpack(item) || item.DropToWorld(from, from.Location)) { from.SendMessage("You cook the resource and turn it in to {0}.", item.Name); resource.Consume(1); } else { from.SendMessage("Unable to create the {0}.", item.Name); item.Delete(); } break; } case HarvestSuccessRating.Failure: { from.SendMessage("You fail to cook the resource."); break; } } }