public static int ReturnPriceByQuality(Quality q, int defaultPrice) { int price = defaultPrice; try { switch (q) { case Quality.Foul: case Quality.Horrifying: case Quality.Bad: case Quality.Putrid: price = (int)(defaultPrice * 0.5f); break; case Quality.Nice: case Quality.VeryNice: price = (int)(defaultPrice * 1.2f); break; case Quality.Great: case Quality.Outstanding: case Quality.Excellent: price = (int)(defaultPrice * 1.3f); break; case Quality.Perfect: price = (int)(defaultPrice * 1.4f); break; default: price = defaultPrice; break; } } catch (System.Exception ex) { CMStoreSet.PrintMessage("Serving Price: " + ex.Message); throw; } return(price); }
public static GameObject CreateRestockItem(GameObject src, int value, bool isRug) { try { RestockItem item = null; if (isRug) { item = GlobalFunctions.CreateObject(ResourceKey.FromString("319e4f1d:00000000:4d2d76202832ac21"), src.PositionOnFloor, src.mLevel, src.ForwardVector) as RestockItem; } else { item = GlobalFunctions.CreateObject(ResourceKey.FromString("319e4f1d:00000000:74eadf6231a9cf5e"), src.PositionOnFloor, src.mLevel, src.ForwardVector) as RestockItem; } item.info.Key = src.GetResourceKeyForClone(true); item.info.Type = RestockItemHelperClass.GetItemType(src); item.info.Name = src.GetLocalizedName(); item.info.Price = value; switch (item.info.Type) { case ItemType.Buy: case ItemType.Craftable: item.info.DesignPreset = ObjectDesigner.GetObjectDesignPreset(src.ObjectId); break; case ItemType.Ingredient: //item.info.IngData = (IngredientData)((Ingredient)src).Data; // item.info.Key = ((Ingredient)src).GetResourceKey(); //item.info.IngredientKey = ((Ingredient)src).IngredientKey; break; case ItemType.Fish: item.info.FType = ((Fish)src).mFishType; break; case ItemType.Herb: //item.info.PlantData = ((PlantableNonIngredient)src).mData; // item.info.Key = ((Herb)src).GetResourceKey(); break; case ItemType.Metal: item.info.RockData = ((Metal)src).mGuid; item.info.Key = ((Metal)src).GetResourceKey(); break; case ItemType.Gem: item.info.RockData = ((Gem)src).mGuid; item.info.Key = ((Gem)src).GetResourceKey(); break; case ItemType.Nectar: item.info.Key = ((NectarBottle)src).GetResourceKey(); item.info.NectarAge = ((NectarBottle)src).mBottleInfo.DateNum; if (item.info.NectarAge == 0) { item.info.NectarAge = 1; } item.info.NectarFruitHash = ((NectarBottle)src).mBottleInfo.FruitHash; item.info.NectarIngredients = ((NectarBottle)src).Ingredients; //.in.mBottleInfo; break; case ItemType.AlchemyPotion: break; case ItemType.Bug: item.info.BugType = ((NormalTerrarium)src).mInsectType; break; case ItemType.Food: item.info.cookingProcess = ((ServingContainer)src).CookingProcess; break; case ItemType.Flowers: item.info.TypeOfWildFlower = ((Wildflower)src).TypeOfWildFlower; break; case ItemType.BookAlchemyRecipe_: case ItemType.BookComic_: case ItemType.BookFish_: case ItemType.BookGeneral_: case ItemType.BookRecipe_: case ItemType.BookSkill_: case ItemType.BookToddler_: case ItemType.SheetMusic_: case ItemType.AcademicTextBook_: item.info.Name = ((Book)src).CatalogName; break; case ItemType.JamJar: Type tInfo = src.GetType(); BindingFlags flags = BindingFlags.Instance | BindingFlags.NonPublic; FieldInfo ingredientDataField = tInfo.GetField("mData", flags); FieldInfo ingredientKeyField = tInfo.GetField("mIngredientKey", flags); FieldInfo qualityField = tInfo.GetField("mQuality", flags); FieldInfo preservesField = tInfo.GetField("mIsPreserves", flags); item.info.IngData = (IngredientData)ingredientDataField.GetValue(src); item.info.IngredientKey = (string)ingredientKeyField.GetValue(src); item.info.JamQuality = (Quality)qualityField.GetValue(src); item.info.JamIsPreserve = (bool)preservesField.GetValue(src); break; default: break; } return(item); } catch (System.Exception ex) { CMStoreSet.PrintMessage("CreateRestockItem: " + ex.Message); return(null); } }