public FishItem(int id, ObtainingDifficulties difficultyToObtain = ObtainingDifficulties.LargeTimeRequirements) : base(id) { DifficultyToObtain = difficultyToObtain; IsFish = true; if (id != (int)ObjectIndexes.AnyFish) { FishData.FillDefaultFishInfo(this); } }
/// <summary> /// Sets the diggable item info on the given data /// </summary> /// <param name="locationData">The location data</param> private static void SetExtraDiggableItemInfo(LocationData locationData) { ObtainingDifficulties difficulty = GetRandomItemDifficulty(); double probability = 0; switch (difficulty) { case ObtainingDifficulties.NoRequirements: probability = (double)Range.GetRandomValue(30, 60) / 100; break; case ObtainingDifficulties.SmallTimeRequirements: probability = (double)Range.GetRandomValue(30, 40) / 100; break; case ObtainingDifficulties.MediumTimeRequirements: probability = (double)Range.GetRandomValue(20, 30) / 100; break; case ObtainingDifficulties.LargeTimeRequirements: probability = (double)Range.GetRandomValue(10, 20) / 100; break; case ObtainingDifficulties.UncommonItem: probability = (double)Range.GetRandomValue(5, 15) / 100; break; case ObtainingDifficulties.RareItem: probability = (double)Range.GetRandomValue(1, 5) / 100; break; default: Globals.ConsoleError($"Attempting to get a diggable item with invalid difficulty: {difficulty}"); difficulty = ObtainingDifficulties.NoRequirements; probability = (double)Range.GetRandomValue(30, 60) / 100; break; } locationData.ExtraDiggingItem = ItemList.GetRandomItemAtDifficulty(difficulty); locationData.ExtraDiggingItemRarity = probability; }
/// <summary> /// Constructor /// </summary> /// <param name="id">The item ID</param> /// <param name="difficultyToObtain">The difficulty to obtain this item</param> public Item(int id, ObtainingDifficulties difficultyToObtain) { Id = id; DifficultyToObtain = difficultyToObtain; }
/// <summary> /// Constructor /// </summary> /// <param name="id">The id of the item</param> public AnimalItem(int id, ObtainingDifficulties difficultyToObtain = ObtainingDifficulties.MediumTimeRequirements) : base(id) { IsAnimalProduct = true; DifficultyToObtain = difficultyToObtain; }
/// <summary> /// Constructor /// </summary> /// <param name="id">The id of the item</param> /// <param name="difficultyToObtain">The difficulty to obtain this item - defaults to medium</param> public SmeltedItem(int id, ObtainingDifficulties difficultyToObtain = ObtainingDifficulties.MediumTimeRequirements) : base(id) { DifficultyToObtain = difficultyToObtain; IsSmelted = true; ItemsRequiredForRecipe = new Range(1, 5); }
/// <summary> /// Constructor /// </summary> /// <param name="id">The id of the item</param> /// <param name="difficultyToObtain">The difficulty to obtain this artifact - defaults to UncommonItem</param> public ArtifactItem(int id, ObtainingDifficulties difficultyToObtain = ObtainingDifficulties.UncommonItem) : base(id) { DifficultyToObtain = difficultyToObtain; IsArtifact = true; }
/// <summary> /// Constructor /// </summary> /// <param name="id">The id of the item</param> public MonsterItem(int id, ObtainingDifficulties difficulty) : base(id, difficulty) { IsMonsterItem = true; }