internal Treasure(uint geodeNumber, GeodeType geodeType) { this.geodeNumber = geodeNumber; this.geodeType = geodeType; geodeObject = new SObject(GeodeObjects[geodeType], 1); uint originalNumber = Game1.player.stats.GeodesCracked; try { Game1.player.stats.GeodesCracked = geodeNumber; item = Utility.getTreasureFromGeode(geodeObject); } finally { Game1.player.stats.GeodesCracked = originalNumber; } }
/// <summary> /// Gets all the item ids that drop from a geode type. /// </summary> /// <param name="type">The type of geode to look up</param> /// <returns>An integer array of item ids</returns> private int[] GetDropsFromGeode(GeodeType type) { return(Array.ConvertAll(Game1.objectInformation[this.Geodes[type]].Split('/')[6].Split(' '), int.Parse)); }