public static List <Achievement> GetCategoryAchievements(AchievementCategory category) { List <Achievement> achievementsList = new List <Achievement>(); #region Achievement Lists switch (category) { case AchievementCategory.Seafaring: achievementsList.Add(Achievement.SinkOrSwim); achievementsList.Add(Achievement.WalkThePlank); achievementsList.Add(Achievement.HighTide); achievementsList.Add(Achievement.AFewGoodMen); achievementsList.Add(Achievement.Circumnavigate); achievementsList.Add(Achievement.Stormchaser); achievementsList.Add(Achievement.BoardToDeath); achievementsList.Add(Achievement.ForSail); achievementsList.Add(Achievement.ToTheDepths); achievementsList.Add(Achievement.GunsAndRum); achievementsList.Add(Achievement.BackFromTheBrink); achievementsList.Add(Achievement.GhostPirate); achievementsList.Add(Achievement.TEST1); achievementsList.Add(Achievement.TEST2); achievementsList.Add(Achievement.TEST3); break; } #endregion return(achievementsList); }
private void LoadGrid() { AchievementCategory selectedFilter = (AchievementCategory)comboBoxAchievementsCategory.SelectedValue; achievementsDataTable.Rows.Clear(); foreach (HTEntities.Achievements.Achievement currentAchievement in achievements.achievementListField) { if ((currentAchievement.categoryIdField == selectedFilter) || (selectedFilter == AchievementCategory.Unavailable)) { DataRow newDataRow = achievementsDataTable.NewRow(); newDataRow[Columns.Text] = GenericFunctions.RemoveTagsFromString(currentAchievement.achievementTextField); newDataRow[Columns.TypeID] = currentAchievement.achievementTypeIdField; newDataRow[Columns.CategoryID] = GetAchievementCategoryText(currentAchievement.categoryIdField); newDataRow[Columns.EventDate] = currentAchievement.eventDateField; newDataRow[Columns.Points] = currentAchievement.pointsField; newDataRow[Columns.MultiLevel] = currentAchievement.multilevelField; newDataRow[Columns.NumberOfEvents] = currentAchievement.numberOfEventsField; achievementsDataTable.Rows.Add(newDataRow); } } dataGridViewAchievements.DataSource = achievementsDataTable; }
public static void Serialize() { Achievements = new Dictionary <int, Achievement>(); using (var Client = new DatabaseClient("SELECT * FROM achievements ORDER BY parent_id ASC")) { foreach (DataRow Row in Client.GetTable().Rows) { var Item = new Achievement(Row); Achievements.Add(Item.Id, Item); } } AchievementCategorys = new Dictionary <int, AchievementCategory>(); using (var Client = new DatabaseClient("SELECT * FROM achievements_categorys")) { foreach (DataRow Row in Client.GetTable().Rows) { var Item = new AchievementCategory(Row); AchievementCategorys.Add(Item.Id, Item); } } }
public static int GetCompletedCategoryAchievements(PlayerMobile player, AchievementCategory category) { AchievementsPersistance.CheckAndCreateAchievementAccountEntry(player); int completionCount = 0; List <Achievement> categoryAchievements = GetCategoryAchievements(category); foreach (Achievement achievement in categoryAchievements) { foreach (AchievementEntry entry in player.m_AchievementAccountEntry.m_Achievements) { if (entry == null) { continue; } if (entry.m_Achievement == achievement && entry.m_Completed) { completionCount++; break; } } } return(completionCount); }
public List <Achievement> GetWithCategory(AchievementCategory category) { _ = category ?? throw new ArgumentNullException(nameof(category)); var cmd = connection.CreateCommand(); cmd.CommandText = @"SELECT A.ID, A.FactionID, A.CovenantID, A.Obtainable, A.HasWowheadLink, ACA.Location, AGT.Name FROM Achievement A LEFT JOIN AchievementCategoryAchievement ACA ON A.ID = ACA.AchievementID LEFT JOIN Achievement_AGT AGT ON A.ID = AGT.ID WHERE ACA.CategoryID = @Category ORDER BY ACA.Location ASC;"; cmd.Parameters.AddWithValue("@Category", category.ID); var achievements = new List <Achievement>(); using (var reader = cmd.ExecuteReader()) while (reader.Read()) { achievements.Add(new Achievement(reader.GetInt32(0), (Faction)reader.GetInt32(1), (Covenant)reader.GetInt32(2), reader.GetBoolean(3), reader.GetBoolean(4), reader.GetInt32(5), reader.IsDBNull(6) ? null : reader.GetString(6))); } return(achievements); }
public static void Load() { if (Main.netMode != NetmodeID.Server) { Achievement achievement = new Achievement("TEST", "Test Name", "Test Description"); achievement.AddCondition(CustomFlagCondition.Create("Test")); CookieClicker.Achievements.Register(achievement); int num = 0; CookieClicker.Achievements.RegisterIconIndex("TEST", num++); AchievementCategory category = AchievementCategory.CookiesBaked; CookieClicker.Achievements.RegisterAchievementCategory("TEST", category); category = AchievementCategory.GoldenCookies; category = AchievementCategory.Misc; category = AchievementCategory.PerSecond; category = AchievementCategory.SugarLumps; CookieClicker.Achievements.Load(); CookieClicker.Achievements.OnAchievementCompleted += OnAchievementCompleted; AchievementsHelper.Initialize(); } }
public void Swap(Achievement achievement1, Achievement achievement2, AchievementCategory category) { _ = achievement1 ?? throw new ArgumentNullException(nameof(achievement1)); _ = achievement2 ?? throw new ArgumentNullException(nameof(achievement2)); _ = category ?? throw new ArgumentNullException(nameof(category)); var cmd = connection.CreateCommand(); cmd.CommandText = @"UPDATE AchievementCategoryAchievement SET Location = @Location1 WHERE CategoryID = @CategoryID AND AchievementID = @AchievementID1; UPDATE AchievementCategoryAchievement SET Location = @Location2 WHERE CategoryID = @CategoryID AND AchievementID = @AchievementID2;"; cmd.Parameters.AddWithValue("@Location1", achievement2.Location); cmd.Parameters.AddWithValue("@CategoryID", category.ID); cmd.Parameters.AddWithValue("@AchievementID1", achievement1.ID); cmd.Parameters.AddWithValue("@Location2", achievement1.Location); cmd.Parameters.AddWithValue("@AchievementID2", achievement2.ID); cmd.ExecuteNonQuery(); }
public void Add(Achievement achievement, AchievementCategory category) { _ = achievement ?? throw new ArgumentNullException(nameof(achievement)); _ = category ?? throw new ArgumentNullException(nameof(category)); var sb = new StringBuilder(); sb.AppendLine(@"INSERT OR REPLACE INTO Achievement (ID, FactionID, CovenantID, Obtainable, HasWowheadLink) VALUES (@ID, @FactionID, @CovenantID, @Obtainable, @HasWowheadLink);"); sb.AppendLine(@"INSERT OR REPLACE INTO AchievementCategoryAchievement (Location, CategoryID, AchievementID) VALUES (@Location, @CategoryID, @ID);"); var cmd = connection.CreateCommand(); cmd.CommandText = sb.ToString(); cmd.Parameters.AddWithValue("@ID", achievement.ID); cmd.Parameters.AddWithValue("@FactionID", (int)achievement.Faction); cmd.Parameters.AddWithValue("@CovenantID", (int)achievement.Covenant); cmd.Parameters.AddWithValue("@Obtainable", achievement.Obtainable ? 1 : 0); cmd.Parameters.AddWithValue("@HasWowheadLink", achievement.HasWowheadLink ? 1 : 0); cmd.Parameters.AddWithValue("@Location", achievement.Location); cmd.Parameters.AddWithValue("@CategoryID", category.ID); cmd.ExecuteNonQuery(); }
private string GetAchievementCategoryText(AchievementCategory category) { string resourceId = string.Empty; switch (category) { case AchievementCategory.Unavailable: resourceId = Localization.ht_achievementcategory_Undefined; break; case AchievementCategory.Ranking: resourceId = Localization.ht_achievementcategory_Ranking; break; case AchievementCategory.Team: resourceId = Localization.ht_achievementcategory_Team; break; case AchievementCategory.Matches: resourceId = Localization.ht_achievementcategory_Matches; break; case AchievementCategory.Manager: resourceId = Localization.ht_achievementcategory_Manager; break; case AchievementCategory.SpecialAward: resourceId = Localization.ht_achievementcategory_SpecialAward; break; } return(resourceManager.GetString(resourceId)); }
public AchievementCategory GetSelectedAchievementCategory() { AchievementCategory selectedCategory = null; if (tvwAchievementCategories.SelectedNode != null) { selectedCategory = ((AchievementCategoryTreeNode)tvwAchievementCategories.SelectedNode).AchievementCategory; } return(selectedCategory); }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); this._locked = !this._achievement.IsCompleted; this.UpdateIconFrame(); CalculatedStyle innerDimensions = this.GetInnerDimensions(); CalculatedStyle dimensions = this._achievementIconBorders.GetDimensions(); Vector2 vector2 = new Vector2(dimensions.X + dimensions.Width + 7f, innerDimensions.Y); Tuple<Decimal, Decimal> trackerValues = this.GetTrackerValues(); bool flag = false; if ((!(trackerValues.Item1 == new Decimal(0)) || !(trackerValues.Item2 == new Decimal(0))) && this._locked) flag = true; float num = (float) ((double) innerDimensions.Width - (double) dimensions.Width + 1.0); Vector2 baseScale1 = new Vector2(0.85f); Vector2 baseScale2 = new Vector2(0.92f); Vector2 stringSize1 = ChatManager.GetStringSize(Main.fontItemStack, this._achievement.Description.Value, baseScale2, num); if ((double) stringSize1.Y > 38.0) baseScale2.Y *= 38f / stringSize1.Y; Color baseColor1 = Color.Lerp(this._locked ? Color.Silver : Color.Gold, Color.White, this.IsMouseHovering ? 0.5f : 0.0f); Color baseColor2 = Color.Lerp(this._locked ? Color.DarkGray : Color.Silver, Color.White, this.IsMouseHovering ? 1f : 0.0f); Color color1 = this.IsMouseHovering ? Color.White : Color.Gray; Vector2 position1 = vector2 - Vector2.UnitY * 2f; this.DrawPanelTop(spriteBatch, position1, num, color1); AchievementCategory category = this._achievement.Category; position1.Y += 2f; position1.X += 4f; spriteBatch.Draw(this._categoryTexture, position1, new Rectangle?(this._categoryTexture.Frame(4, 2, (int) category, 0)), this.IsMouseHovering ? Color.White : Color.Silver, 0.0f, Vector2.Zero, 0.5f, SpriteEffects.None, 0.0f); position1.X += 4f; position1.X += 17f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, this._achievement.FriendlyName.Value, position1, baseColor1, 0.0f, Vector2.Zero, baseScale1, num, 2f); position1.X -= 17f; Vector2 position2 = vector2 + Vector2.UnitY * 27f; this.DrawPanelBottom(spriteBatch, position2, num, color1); position2.X += 8f; position2.Y += 4f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, this._achievement.Description.Value, position2, baseColor2, 0.0f, Vector2.Zero, baseScale2, num - 10f, 2f); if (!flag) return; Vector2 position3 = position1 + Vector2.UnitX * num + Vector2.UnitY; string text = trackerValues.Item1.ToString() + "/" + trackerValues.Item2.ToString(); Vector2 baseScale3 = new Vector2(0.75f); Vector2 stringSize2 = ChatManager.GetStringSize(Main.fontItemStack, text, baseScale3, -1f); float progress = (float) (trackerValues.Item1 / trackerValues.Item2); float Width = 80f; Color color2 = new Color(100, (int) byte.MaxValue, 100); if (!this.IsMouseHovering) color2 = Color.Lerp(color2, Color.Black, 0.25f); Color BackColor = new Color((int) byte.MaxValue, (int) byte.MaxValue, (int) byte.MaxValue); if (!this.IsMouseHovering) BackColor = Color.Lerp(BackColor, Color.Black, 0.25f); this.DrawProgressBar(spriteBatch, progress, position3 - Vector2.UnitX * Width * 0.7f, Width, BackColor, color2, color2.MultiplyRGBA(new Color(new Vector4(1f, 1f, 1f, 0.5f)))); position3.X -= Width * 1.4f + stringSize2.X; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, text, position3, baseColor1, 0.0f, new Vector2(0.0f, 0.0f), baseScale3, 90f, 2f); }
public static void LoadAchievementsEditor() { try { DbcStores.InitFiles(); Achievement.LoadData(); AchievementCategory.LoadData(); AchievementCriteria.LoadData(); Map.LoadData(); SpellIcon.LoadData(); } catch (System.Exception ex) { MessageBox.Show(ex.Message); } }
public void Remove(Achievement achievement, AchievementCategory category) { _ = achievement ?? throw new ArgumentNullException(nameof(achievement)); var sb = new StringBuilder(); sb.AppendLine(@"DELETE FROM AchievementCategoryAchievement WHERE AchievementID = @ID AND CategoryID = @CategoryID;"); sb.AppendLine(@"DELETE FROM Achievement WHERE ID = @ID;"); var cmd = connection.CreateCommand(); cmd.CommandText = sb.ToString(); cmd.Parameters.AddWithValue("@ID", achievement.ID); cmd.Parameters.AddWithValue("@CategoryID", category.ID); cmd.ExecuteNonQuery(); }
private void ExportNextPatchAchievements(StringBuilder sb, AchievementCategory category) { foreach (var subCategory in category.Children) { ExportNextPatchAchievements(sb, subCategory); var achievements = achDatMan.GetWithCategory(subCategory); foreach (var achievement in achievements) { var achievementAGT = achDatMan.GetWithAGTID(achievement); var name = Regex.Replace(achievementAGT.Name, "^\"", ""); name = Regex.Replace(name, "\"$", ""); var description = Regex.Replace(achievementAGT.Description, "^\"", ""); description = Regex.Replace(description, "\"$", ""); description = Regex.Replace(description, "(\"){2,}", "\\\""); var rewardText = Regex.Replace(achievementAGT.RewardText, "^\"", ""); rewardText = Regex.Replace(rewardText, "\"$", ""); var line = $"achievements[{achievementAGT.ID}] = {{{achievementAGT.ID}, \"{name}\", {achievementAGT.Points}, \"{description}\", {achievementAGT.Flags}, {achievementAGT.IconFileID}, \"{rewardText}\"}};"; sb.AppendLineTabbed(1, line); } } }
public static AchievementCategoryDetail GetCategoryDetail(AchievementCategory achievementCategory) { AchievementCategoryDetail detail = new AchievementCategoryDetail(); detail.m_AchievementCategory = achievementCategory; #region Categories switch (achievementCategory) { case AchievementCategory.Adventuring: detail.GumpCollectionGroupId = "AdventuringAchievementCategory"; detail.m_TextHue = 148; detail.m_IconHue = 149; detail.m_CategoryName = "Adventuring"; break; case AchievementCategory.AnimalHandling: detail.GumpCollectionGroupId = "AnimalHandlingAchievementCategory"; detail.m_TextHue = 2599; detail.m_IconHue = 2208; detail.m_CategoryName = "Animal Handling"; break; case AchievementCategory.Battle: detail.GumpCollectionGroupId = "BattleAchievementCategory"; detail.m_TextHue = 1256; detail.m_IconHue = 1256; detail.m_CategoryName = "Battle"; break; case AchievementCategory.Competition: detail.GumpCollectionGroupId = "CompetitionAchievementCategory"; detail.m_TextHue = 2963; detail.m_IconHue = 2963; detail.m_CategoryName = "Competition"; break; case AchievementCategory.Crafting: detail.GumpCollectionGroupId = "CraftingAchievementCategory"; detail.m_TextHue = 2499; detail.m_IconHue = 2401; detail.m_CategoryName = "Crafting"; break; case AchievementCategory.Harvesting: detail.GumpCollectionGroupId = "HarvestingAchievementCategory"; detail.m_TextHue = 2417; detail.m_IconHue = 2417; detail.m_CategoryName = "Harvesting"; break; case AchievementCategory.Luxury: detail.GumpCollectionGroupId = "LuxuryAchievementCategory"; detail.m_TextHue = 2618; detail.m_IconHue = 2618; detail.m_CategoryName = "Luxury"; break; case AchievementCategory.Seafaring: detail.GumpCollectionGroupId = "SeafaringAchievementCategory"; detail.m_TextHue = 2603; detail.m_IconHue = 2602; detail.m_CategoryName = "Seafaring"; break; case AchievementCategory.SkillMastery: detail.GumpCollectionGroupId = "SkillMasteryAchievementCategory"; detail.m_TextHue = 2550; detail.m_IconHue = 2652; detail.m_CategoryName = "Skill Mastery"; break; case AchievementCategory.Slaying: detail.GumpCollectionGroupId = "SlayingAchievementCategory"; detail.m_TextHue = 2116; detail.m_IconHue = 2116; detail.m_CategoryName = "Slaying"; break; case AchievementCategory.Vice: detail.GumpCollectionGroupId = "ViceAchievementCategory"; detail.m_TextHue = 1106; detail.m_IconHue = 1106; detail.m_CategoryName = "Vice"; break; case AchievementCategory.Virtue: detail.GumpCollectionGroupId = "VirtueAchievementCategory"; detail.m_TextHue = 2590; detail.m_IconHue = 2589; detail.m_CategoryName = "Virtue"; break; } #endregion return(detail); }
public void SetCategory(AchievementCategory category) => Category = category;
public void Add(bool asParent, string achievementCategoryName, string functionValue, bool isLegacy) { var function = functionHandler.GetSelectedFunction(); if (function == null) { MessageBox.Show("Invalid function selected!" + Environment.NewLine + Environment.NewLine + "Category is not added.", "Invalid function", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var selectedCategory = GetSelectedAchievementCategory(); if (selectedCategory == null) { MessageBox.Show("No category selected!" + Environment.NewLine + Environment.NewLine + "Category is not added.", "No category", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int location = asParent ? 1 : selectedCategory.Location + 1; AchievementCategory parent = asParent ? selectedCategory : selectedCategory.Parent; achievementCategoryName = string.IsNullOrEmpty(achievementCategoryName) ? function.Description : achievementCategoryName; var category = new AchievementCategory() { Location = location, Name = achievementCategoryName, Parent = parent, Function = function, FunctionValue = functionValue, Legacy = isLegacy }; dataManager.Add(category); if (!asParent) { var node = FindAchievementCategoryNode(tvwAchievementCategories.Nodes, parent); TreeNodeCollection nodes = null; if (node != null && node.Nodes != null) { nodes = node.Nodes; } else { nodes = tvwAchievementCategories.Nodes; } nodes.Insert(tvwAchievementCategories.SelectedNode.Index + 1, new AchievementCategoryTreeNode(category)); // Need to add this to ensure correct location numbers var categories = nodes.Cast <AchievementCategoryTreeNode>().Select(x => x.AchievementCategory).ToList(); dataManager.UpdateLocations(dataManager.GetLast(), categories); } RefreshTreeView(); // Make sure the last added achievement category is selected category = dataManager.GetLast(); var selectNode = FindAchievementCategoryNode(tvwAchievementCategories.Nodes, category); tvwAchievementCategories.SelectedNode = selectNode; }
public static AchievementCategory CreateAchievementCategory(int ID, byte[] rowVersion, string description) { AchievementCategory achievementCategory = new AchievementCategory(); achievementCategory.Id = ID; achievementCategory.RowVersion = rowVersion; achievementCategory.Description = description; return achievementCategory; }
public static void Load() { if (Main.netMode != 2) { Achievement achievement = new Achievement("TIMBER"); achievement.AddCondition(ItemPickupCondition.Create(9, 619, 2504, 620, 2503, 2260, 621, 911, 1729)); Main.Achievements.Register(achievement); achievement = new Achievement("BENCHED"); achievement.AddCondition(ItemCraftCondition.Create(ItemID.Sets.Workbenches)); Main.Achievements.Register(achievement); achievement = new Achievement("NO_HOBO"); achievement.AddCondition(ProgressionEventCondition.Create(8)); Main.Achievements.Register(achievement); achievement = new Achievement("OBTAIN_HAMMER"); achievement.AddCondition(ItemPickupCondition.Create(2775, 2746, 3505, 654, 3517, 7, 3493, 2780, 1513, 2516, 660, 3481, 657, 922, 3511, 2785, 3499, 3487, 196, 367, 104, 797, 2320, 787, 1234, 1262, 3465, 204, 217, 1507, 3524, 3522, 3525, 3523, 4317, 1305)); Main.Achievements.Register(achievement); achievement = new Achievement("OOO_SHINY"); achievement.AddCondition(TileDestroyedCondition.Create(7, 6, 9, 8, 166, 167, 168, 169, 22, 204, 58, 107, 108, 111, 221, 222, 223, 211)); Main.Achievements.Register(achievement); achievement = new Achievement("HEART_BREAKER"); achievement.AddCondition(TileDestroyedCondition.Create(12)); Main.Achievements.Register(achievement); achievement = new Achievement("HEAVY_METAL"); achievement.AddCondition(ItemPickupCondition.Create(35, 716)); Main.Achievements.Register(achievement); achievement = new Achievement("I_AM_LOOT"); achievement.AddCondition(CustomFlagCondition.Create("Peek")); Main.Achievements.Register(achievement); achievement = new Achievement("STAR_POWER"); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("HOLD_ON_TIGHT"); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("EYE_ON_YOU"); achievement.AddCondition(NPCKilledCondition.Create(4)); Main.Achievements.Register(achievement); achievement = new Achievement("SMASHING_POPPET"); achievement.AddCondition(ProgressionEventCondition.Create(7)); Main.Achievements.Register(achievement); achievement = new Achievement("WORM_FODDER"); achievement.AddCondition(NPCKilledCondition.Create(13, 14, 15)); Main.Achievements.Register(achievement); achievement = new Achievement("MASTERMIND"); achievement.AddCondition(NPCKilledCondition.Create(266)); Main.Achievements.Register(achievement); achievement = new Achievement("WHERES_MY_HONEY"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("STING_OPERATION"); achievement.AddCondition(NPCKilledCondition.Create(222)); Main.Achievements.Register(achievement); achievement = new Achievement("BONED"); achievement.AddCondition(NPCKilledCondition.Create(35)); Main.Achievements.Register(achievement); achievement = new Achievement("DUNGEON_HEIST"); achievement.AddCondition(ItemPickupCondition.Create(327)); achievement.AddCondition(ProgressionEventCondition.Create(19)); Main.Achievements.Register(achievement); achievement = new Achievement("ITS_GETTING_HOT_IN_HERE"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("MINER_FOR_FIRE"); achievement.AddCondition(ItemCraftCondition.Create(122)); Main.Achievements.Register(achievement); achievement = new Achievement("STILL_HUNGRY"); achievement.AddCondition(NPCKilledCondition.Create(113, 114)); Main.Achievements.Register(achievement); achievement = new Achievement("ITS_HARD"); achievement.AddCondition(ProgressionEventCondition.Create(9)); Main.Achievements.Register(achievement); achievement = new Achievement("BEGONE_EVIL"); achievement.AddCondition(ProgressionEventCondition.Create(6)); Main.Achievements.Register(achievement); achievement = new Achievement("EXTRA_SHINY"); achievement.AddCondition(TileDestroyedCondition.Create(107, 108, 111, 221, 222, 223)); Main.Achievements.Register(achievement); achievement = new Achievement("HEAD_IN_THE_CLOUDS"); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("LIKE_A_BOSS"); achievement.AddCondition(ItemPickupCondition.Create(1133, 1331, 1307, 267, 1293, 557, 544, 556, 560, 43, 70)); Main.Achievements.Register(achievement); achievement = new Achievement("BUCKETS_OF_BOLTS"); achievement.AddCondition(NPCKilledCondition.Create(125, 126)); achievement.AddConditions(NPCKilledCondition.CreateMany(127, 134)); achievement.UseConditionsCompletedTracker(); Main.Achievements.Register(achievement); achievement = new Achievement("DRAX_ATTAX"); achievement.AddCondition(ItemCraftCondition.Create(579, 990)); Main.Achievements.Register(achievement); achievement = new Achievement("PHOTOSYNTHESIS"); achievement.AddCondition(TileDestroyedCondition.Create(211)); Main.Achievements.Register(achievement); achievement = new Achievement("GET_A_LIFE"); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("THE_GREAT_SOUTHERN_PLANTKILL"); achievement.AddCondition(NPCKilledCondition.Create(262)); Main.Achievements.Register(achievement); achievement = new Achievement("TEMPLE_RAIDER"); achievement.AddCondition(ProgressionEventCondition.Create(22)); Main.Achievements.Register(achievement); achievement = new Achievement("LIHZAHRDIAN_IDOL"); achievement.AddCondition(NPCKilledCondition.Create(245)); Main.Achievements.Register(achievement); achievement = new Achievement("ROBBING_THE_GRAVE"); achievement.AddCondition(ItemPickupCondition.Create(1513, 938, 963, 977, 1300, 1254, 1514, 679, 759, 1446, 1445, 1444, 1183, 1266, 671, 3291, 4679)); Main.Achievements.Register(achievement); achievement = new Achievement("BIG_BOOTY"); achievement.AddCondition(ProgressionEventCondition.Create(20)); Main.Achievements.Register(achievement); achievement = new Achievement("FISH_OUT_OF_WATER"); achievement.AddCondition(NPCKilledCondition.Create(370)); Main.Achievements.Register(achievement); achievement = new Achievement("OBSESSIVE_DEVOTION"); achievement.AddCondition(NPCKilledCondition.Create(439)); Main.Achievements.Register(achievement); achievement = new Achievement("STAR_DESTROYER"); achievement.AddConditions(NPCKilledCondition.CreateMany(517, 422, 507, 493)); Main.Achievements.Register(achievement); achievement = new Achievement("CHAMPION_OF_TERRARIA"); achievement.AddCondition(NPCKilledCondition.Create(398)); Main.Achievements.Register(achievement); achievement = new Achievement("BLOODBATH"); achievement.AddCondition(ProgressionEventCondition.Create(5)); Main.Achievements.Register(achievement); achievement = new Achievement("SLIPPERY_SHINOBI"); achievement.AddCondition(NPCKilledCondition.Create(50)); Main.Achievements.Register(achievement); achievement = new Achievement("GOBLIN_PUNTER"); achievement.AddCondition(ProgressionEventCondition.Create(10)); Main.Achievements.Register(achievement); achievement = new Achievement("WALK_THE_PLANK"); achievement.AddCondition(ProgressionEventCondition.Create(11)); Main.Achievements.Register(achievement); achievement = new Achievement("KILL_THE_SUN"); achievement.AddCondition(ProgressionEventCondition.Create(3)); Main.Achievements.Register(achievement); achievement = new Achievement("DO_YOU_WANT_TO_SLAY_A_SNOWMAN"); achievement.AddCondition(ProgressionEventCondition.Create(12)); Main.Achievements.Register(achievement); achievement = new Achievement("TIN_FOIL_HATTER"); achievement.AddCondition(ProgressionEventCondition.Create(13)); Main.Achievements.Register(achievement); achievement = new Achievement("BALEFUL_HARVEST"); achievement.AddCondition(ProgressionEventCondition.Create(15)); Main.Achievements.Register(achievement); achievement = new Achievement("ICE_SCREAM"); achievement.AddCondition(ProgressionEventCondition.Create(14)); Main.Achievements.Register(achievement); achievement = new Achievement("STICKY_SITUATION"); achievement.AddCondition(ProgressionEventCondition.Create(16)); Main.Achievements.Register(achievement); achievement = new Achievement("REAL_ESTATE_AGENT"); achievement.AddCondition(ProgressionEventCondition.Create(17)); Main.Achievements.Register(achievement); achievement = new Achievement("NOT_THE_BEES"); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("JEEPERS_CREEPERS"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("FUNKYTOWN"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("INTO_ORBIT"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("ROCK_BOTTOM"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("MECHA_MAYHEM"); achievement.AddCondition(ProgressionEventCondition.Create(21)); Main.Achievements.Register(achievement); achievement = new Achievement("GELATIN_WORLD_TOUR"); achievement.AddConditions(NPCKilledCondition.CreateMany(-5, -6, 1, 81, 71, -3, 147, 138, -10, 50, 59, 16, -7, 244, -8, -1, -2, 184, 204, 225, -9, 141, 183, -4)); achievement.UseConditionsCompletedTracker(); Main.Achievements.Register(achievement); achievement = new Achievement("FASHION_STATEMENT"); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("VEHICULAR_MANSLAUGHTER"); achievement.AddCondition(CustomFlagCondition.Create("Hit")); Main.Achievements.Register(achievement); achievement = new Achievement("BULLDOZER"); achievement.AddCondition(CustomIntCondition.Create("Pick", 10000)); achievement.UseTrackerFromCondition("Pick"); Main.Achievements.Register(achievement); achievement = new Achievement("THERE_ARE_SOME_WHO_CALL_HIM"); achievement.AddCondition(NPCKilledCondition.Create(45)); Main.Achievements.Register(achievement); achievement = new Achievement("DECEIVER_OF_FOOLS"); achievement.AddCondition(NPCKilledCondition.Create(196)); Main.Achievements.Register(achievement); achievement = new Achievement("SWORD_OF_THE_HERO"); achievement.AddCondition(ItemPickupCondition.Create(757)); Main.Achievements.Register(achievement); achievement = new Achievement("LUCKY_BREAK"); achievement.AddCondition(CustomFlagCondition.Create("Hit")); Main.Achievements.Register(achievement); achievement = new Achievement("THROWING_LINES"); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("DYE_HARD"); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("SICK_THROW"); achievement.AddCondition(ItemPickupCondition.Create(3389)); Main.Achievements.Register(achievement); achievement = new Achievement("FREQUENT_FLYER"); achievement.AddCondition(CustomFloatCondition.Create("Pay", 10000f)); achievement.UseTrackerFromCondition("Pay"); Main.Achievements.Register(achievement); achievement = new Achievement("THE_CAVALRY"); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("COMPLETELY_AWESOME"); achievement.AddCondition(ItemPickupCondition.Create(98)); Main.Achievements.Register(achievement); achievement = new Achievement("TIL_DEATH"); achievement.AddCondition(NPCKilledCondition.Create(53)); Main.Achievements.Register(achievement); achievement = new Achievement("ARCHAEOLOGIST"); achievement.AddCondition(NPCKilledCondition.Create(52)); Main.Achievements.Register(achievement); achievement = new Achievement("PRETTY_IN_PINK"); achievement.AddCondition(NPCKilledCondition.Create(-4)); Main.Achievements.Register(achievement); achievement = new Achievement("RAINBOWS_AND_UNICORNS"); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("YOU_AND_WHAT_ARMY"); achievement.AddCondition(CustomFlagCondition.Create("Spawn")); Main.Achievements.Register(achievement); achievement = new Achievement("PRISMANCER"); achievement.AddCondition(ItemPickupCondition.Create(495)); Main.Achievements.Register(achievement); achievement = new Achievement("IT_CAN_TALK"); achievement.AddCondition(ProgressionEventCondition.Create(18)); Main.Achievements.Register(achievement); achievement = new Achievement("WATCH_YOUR_STEP"); achievement.AddCondition(CustomFlagCondition.Create("Hit")); Main.Achievements.Register(achievement); achievement = new Achievement("MARATHON_MEDALIST"); achievement.AddCondition(CustomFloatCondition.Create("Move", 1106688f)); achievement.UseTrackerFromCondition("Move"); Main.Achievements.Register(achievement); achievement = new Achievement("GLORIOUS_GOLDEN_POLE"); achievement.AddCondition(ItemPickupCondition.Create(2294)); Main.Achievements.Register(achievement); achievement = new Achievement("SERVANT_IN_TRAINING"); achievement.AddCondition(CustomFlagCondition.Create("Finish")); Main.Achievements.Register(achievement); achievement = new Achievement("GOOD_LITTLE_SLAVE"); achievement.AddCondition(CustomIntCondition.Create("Finish", 10)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("TROUT_MONKEY"); achievement.AddCondition(CustomIntCondition.Create("Finish", 25)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("FAST_AND_FISHIOUS"); achievement.AddCondition(CustomIntCondition.Create("Finish", 50)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("SUPREME_HELPER_MINION"); achievement.AddCondition(CustomIntCondition.Create("Finish", 200)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("TOPPED_OFF"); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("SLAYER_OF_WORLDS"); achievement.AddCondition(NPCKilledCondition.Create(13, 14, 15)); achievement.AddCondition(NPCKilledCondition.Create(113, 114)); achievement.AddCondition(NPCKilledCondition.Create(125, 126)); achievement.AddConditions(NPCKilledCondition.CreateMany(4, 266, 35, 50, 222, 134, 127, 262, 245, 439, 398, 370)); achievement.UseConditionsCompletedTracker(); Main.Achievements.Register(achievement); achievement = new Achievement("YOU_CAN_DO_IT"); achievement.AddCondition(ProgressionEventCondition.Create(1)); Main.Achievements.Register(achievement); achievement = new Achievement("MATCHING_ATTIRE"); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); int num = 0; Main.Achievements.RegisterIconIndex("TIMBER", num++); Main.Achievements.RegisterIconIndex("NO_HOBO", num++); Main.Achievements.RegisterIconIndex("OBTAIN_HAMMER", num++); Main.Achievements.RegisterIconIndex("HEART_BREAKER", num++); Main.Achievements.RegisterIconIndex("OOO_SHINY", num++); Main.Achievements.RegisterIconIndex("HEAVY_METAL", num++); Main.Achievements.RegisterIconIndex("I_AM_LOOT", num++); Main.Achievements.RegisterIconIndex("STAR_POWER", num++); Main.Achievements.RegisterIconIndex("HOLD_ON_TIGHT", num++); Main.Achievements.RegisterIconIndex("EYE_ON_YOU", num++); Main.Achievements.RegisterIconIndex("SMASHING_POPPET", num++); Main.Achievements.RegisterIconIndex("WORM_FODDER", num++); Main.Achievements.RegisterIconIndex("MASTERMIND", num++); Main.Achievements.RegisterIconIndex("WHERES_MY_HONEY", num++); Main.Achievements.RegisterIconIndex("STING_OPERATION", num++); Main.Achievements.RegisterIconIndex("BONED", num++); Main.Achievements.RegisterIconIndex("DUNGEON_HEIST", num++); Main.Achievements.RegisterIconIndex("ITS_GETTING_HOT_IN_HERE", num++); Main.Achievements.RegisterIconIndex("MINER_FOR_FIRE", num++); Main.Achievements.RegisterIconIndex("STILL_HUNGRY", num++); Main.Achievements.RegisterIconIndex("ITS_HARD", num++); Main.Achievements.RegisterIconIndex("BEGONE_EVIL", num++); Main.Achievements.RegisterIconIndex("EXTRA_SHINY", num++); Main.Achievements.RegisterIconIndex("HEAD_IN_THE_CLOUDS", num++); Main.Achievements.RegisterIconIndex("LIKE_A_BOSS", num++); Main.Achievements.RegisterIconIndex("BUCKETS_OF_BOLTS", num++); Main.Achievements.RegisterIconIndex("DRAX_ATTAX", num++); Main.Achievements.RegisterIconIndex("PHOTOSYNTHESIS", num++); Main.Achievements.RegisterIconIndex("GET_A_LIFE", num++); Main.Achievements.RegisterIconIndex("THE_GREAT_SOUTHERN_PLANTKILL", num++); Main.Achievements.RegisterIconIndex("TEMPLE_RAIDER", num++); Main.Achievements.RegisterIconIndex("LIHZAHRDIAN_IDOL", num++); Main.Achievements.RegisterIconIndex("ROBBING_THE_GRAVE", num++); Main.Achievements.RegisterIconIndex("BIG_BOOTY", num++); Main.Achievements.RegisterIconIndex("FISH_OUT_OF_WATER", num++); Main.Achievements.RegisterIconIndex("OBSESSIVE_DEVOTION", num++); Main.Achievements.RegisterIconIndex("STAR_DESTROYER", num++); Main.Achievements.RegisterIconIndex("CHAMPION_OF_TERRARIA", num++); Main.Achievements.RegisterIconIndex("BLOODBATH", num++); Main.Achievements.RegisterIconIndex("GOBLIN_PUNTER", num++); Main.Achievements.RegisterIconIndex("KILL_THE_SUN", num++); Main.Achievements.RegisterIconIndex("WALK_THE_PLANK", num++); Main.Achievements.RegisterIconIndex("DO_YOU_WANT_TO_SLAY_A_SNOWMAN", num++); Main.Achievements.RegisterIconIndex("TIN_FOIL_HATTER", num++); Main.Achievements.RegisterIconIndex("BALEFUL_HARVEST", num++); Main.Achievements.RegisterIconIndex("ICE_SCREAM", num++); Main.Achievements.RegisterIconIndex("SLIPPERY_SHINOBI", num++); Main.Achievements.RegisterIconIndex("STICKY_SITUATION", num++); Main.Achievements.RegisterIconIndex("REAL_ESTATE_AGENT", num++); Main.Achievements.RegisterIconIndex("NOT_THE_BEES", num++); Main.Achievements.RegisterIconIndex("JEEPERS_CREEPERS", num++); Main.Achievements.RegisterIconIndex("FUNKYTOWN", num++); Main.Achievements.RegisterIconIndex("INTO_ORBIT", num++); Main.Achievements.RegisterIconIndex("ROCK_BOTTOM", num++); Main.Achievements.RegisterIconIndex("MECHA_MAYHEM", num++); Main.Achievements.RegisterIconIndex("GELATIN_WORLD_TOUR", num++); Main.Achievements.RegisterIconIndex("FASHION_STATEMENT", num++); Main.Achievements.RegisterIconIndex("VEHICULAR_MANSLAUGHTER", num++); Main.Achievements.RegisterIconIndex("BULLDOZER", num++); Main.Achievements.RegisterIconIndex("THERE_ARE_SOME_WHO_CALL_HIM", num++); Main.Achievements.RegisterIconIndex("DECEIVER_OF_FOOLS", num++); Main.Achievements.RegisterIconIndex("SWORD_OF_THE_HERO", num++); Main.Achievements.RegisterIconIndex("LUCKY_BREAK", num++); Main.Achievements.RegisterIconIndex("THROWING_LINES", num++); Main.Achievements.RegisterIconIndex("DYE_HARD", num++); Main.Achievements.RegisterIconIndex("FREQUENT_FLYER", num++); Main.Achievements.RegisterIconIndex("THE_CAVALRY", num++); Main.Achievements.RegisterIconIndex("COMPLETELY_AWESOME", num++); Main.Achievements.RegisterIconIndex("TIL_DEATH", num++); Main.Achievements.RegisterIconIndex("ARCHAEOLOGIST", num++); Main.Achievements.RegisterIconIndex("PRETTY_IN_PINK", num++); Main.Achievements.RegisterIconIndex("RAINBOWS_AND_UNICORNS", num++); Main.Achievements.RegisterIconIndex("YOU_AND_WHAT_ARMY", num++); Main.Achievements.RegisterIconIndex("PRISMANCER", num++); Main.Achievements.RegisterIconIndex("IT_CAN_TALK", num++); Main.Achievements.RegisterIconIndex("WATCH_YOUR_STEP", num++); Main.Achievements.RegisterIconIndex("MARATHON_MEDALIST", num++); Main.Achievements.RegisterIconIndex("GLORIOUS_GOLDEN_POLE", num++); Main.Achievements.RegisterIconIndex("SERVANT_IN_TRAINING", num++); Main.Achievements.RegisterIconIndex("GOOD_LITTLE_SLAVE", num++); Main.Achievements.RegisterIconIndex("TROUT_MONKEY", num++); Main.Achievements.RegisterIconIndex("FAST_AND_FISHIOUS", num++); Main.Achievements.RegisterIconIndex("SUPREME_HELPER_MINION", num++); Main.Achievements.RegisterIconIndex("TOPPED_OFF", num++); Main.Achievements.RegisterIconIndex("SLAYER_OF_WORLDS", num++); Main.Achievements.RegisterIconIndex("YOU_CAN_DO_IT", num++); Main.Achievements.RegisterIconIndex("SICK_THROW", num++); Main.Achievements.RegisterIconIndex("MATCHING_ATTIRE", num++); Main.Achievements.RegisterIconIndex("BENCHED", num++); AchievementCategory category = AchievementCategory.Slayer; Main.Achievements.RegisterAchievementCategory("EYE_ON_YOU", category); Main.Achievements.RegisterAchievementCategory("SLIPPERY_SHINOBI", category); Main.Achievements.RegisterAchievementCategory("WORM_FODDER", category); Main.Achievements.RegisterAchievementCategory("MASTERMIND", category); Main.Achievements.RegisterAchievementCategory("STING_OPERATION", category); Main.Achievements.RegisterAchievementCategory("BONED", category); Main.Achievements.RegisterAchievementCategory("STILL_HUNGRY", category); Main.Achievements.RegisterAchievementCategory("BUCKETS_OF_BOLTS", category); Main.Achievements.RegisterAchievementCategory("THE_GREAT_SOUTHERN_PLANTKILL", category); Main.Achievements.RegisterAchievementCategory("LIHZAHRDIAN_IDOL", category); Main.Achievements.RegisterAchievementCategory("FISH_OUT_OF_WATER", category); Main.Achievements.RegisterAchievementCategory("OBSESSIVE_DEVOTION", category); Main.Achievements.RegisterAchievementCategory("STAR_DESTROYER", category); Main.Achievements.RegisterAchievementCategory("CHAMPION_OF_TERRARIA", category); Main.Achievements.RegisterAchievementCategory("GOBLIN_PUNTER", category); Main.Achievements.RegisterAchievementCategory("DO_YOU_WANT_TO_SLAY_A_SNOWMAN", category); Main.Achievements.RegisterAchievementCategory("WALK_THE_PLANK", category); Main.Achievements.RegisterAchievementCategory("BALEFUL_HARVEST", category); Main.Achievements.RegisterAchievementCategory("ICE_SCREAM", category); Main.Achievements.RegisterAchievementCategory("TIN_FOIL_HATTER", category); Main.Achievements.RegisterAchievementCategory("TIL_DEATH", category); Main.Achievements.RegisterAchievementCategory("THERE_ARE_SOME_WHO_CALL_HIM", category); Main.Achievements.RegisterAchievementCategory("ARCHAEOLOGIST", category); Main.Achievements.RegisterAchievementCategory("PRETTY_IN_PINK", category); Main.Achievements.RegisterAchievementCategory("DECEIVER_OF_FOOLS", category); Main.Achievements.RegisterAchievementCategory("VEHICULAR_MANSLAUGHTER", category); category = AchievementCategory.Explorer; Main.Achievements.RegisterAchievementCategory("SMASHING_POPPET", category); Main.Achievements.RegisterAchievementCategory("BEGONE_EVIL", category); Main.Achievements.RegisterAchievementCategory("ITS_HARD", category); Main.Achievements.RegisterAchievementCategory("FUNKYTOWN", category); Main.Achievements.RegisterAchievementCategory("WATCH_YOUR_STEP", category); Main.Achievements.RegisterAchievementCategory("YOU_CAN_DO_IT", category); Main.Achievements.RegisterAchievementCategory("BLOODBATH", category); Main.Achievements.RegisterAchievementCategory("KILL_THE_SUN", category); Main.Achievements.RegisterAchievementCategory("STICKY_SITUATION", category); Main.Achievements.RegisterAchievementCategory("NO_HOBO", category); Main.Achievements.RegisterAchievementCategory("IT_CAN_TALK", category); Main.Achievements.RegisterAchievementCategory("HEART_BREAKER", category); Main.Achievements.RegisterAchievementCategory("I_AM_LOOT", category); Main.Achievements.RegisterAchievementCategory("ROBBING_THE_GRAVE", category); Main.Achievements.RegisterAchievementCategory("GET_A_LIFE", category); Main.Achievements.RegisterAchievementCategory("JEEPERS_CREEPERS", category); Main.Achievements.RegisterAchievementCategory("WHERES_MY_HONEY", category); Main.Achievements.RegisterAchievementCategory("DUNGEON_HEIST", category); Main.Achievements.RegisterAchievementCategory("BIG_BOOTY", category); Main.Achievements.RegisterAchievementCategory("ITS_GETTING_HOT_IN_HERE", category); Main.Achievements.RegisterAchievementCategory("INTO_ORBIT", category); Main.Achievements.RegisterAchievementCategory("ROCK_BOTTOM", category); Main.Achievements.RegisterAchievementCategory("OOO_SHINY", category); Main.Achievements.RegisterAchievementCategory("EXTRA_SHINY", category); Main.Achievements.RegisterAchievementCategory("PHOTOSYNTHESIS", category); category = AchievementCategory.Challenger; Main.Achievements.RegisterAchievementCategory("GELATIN_WORLD_TOUR", category); Main.Achievements.RegisterAchievementCategory("SLAYER_OF_WORLDS", category); Main.Achievements.RegisterAchievementCategory("REAL_ESTATE_AGENT", category); Main.Achievements.RegisterAchievementCategory("YOU_AND_WHAT_ARMY", category); Main.Achievements.RegisterAchievementCategory("TOPPED_OFF", category); Main.Achievements.RegisterAchievementCategory("MECHA_MAYHEM", category); Main.Achievements.RegisterAchievementCategory("BULLDOZER", category); Main.Achievements.RegisterAchievementCategory("NOT_THE_BEES", category); Main.Achievements.RegisterAchievementCategory("RAINBOWS_AND_UNICORNS", category); Main.Achievements.RegisterAchievementCategory("THROWING_LINES", category); Main.Achievements.RegisterAchievementCategory("FREQUENT_FLYER", category); Main.Achievements.RegisterAchievementCategory("LUCKY_BREAK", category); Main.Achievements.RegisterAchievementCategory("MARATHON_MEDALIST", category); Main.Achievements.RegisterAchievementCategory("SERVANT_IN_TRAINING", category); Main.Achievements.RegisterAchievementCategory("GOOD_LITTLE_SLAVE", category); Main.Achievements.RegisterAchievementCategory("TROUT_MONKEY", category); Main.Achievements.RegisterAchievementCategory("FAST_AND_FISHIOUS", category); Main.Achievements.RegisterAchievementCategory("SUPREME_HELPER_MINION", category); category = AchievementCategory.Collector; Main.Achievements.RegisterAchievementCategory("OBTAIN_HAMMER", category); Main.Achievements.RegisterAchievementCategory("BENCHED", category); Main.Achievements.RegisterAchievementCategory("HEAVY_METAL", category); Main.Achievements.RegisterAchievementCategory("STAR_POWER", category); Main.Achievements.RegisterAchievementCategory("MINER_FOR_FIRE", category); Main.Achievements.RegisterAchievementCategory("HEAD_IN_THE_CLOUDS", category); Main.Achievements.RegisterAchievementCategory("DRAX_ATTAX", category); Main.Achievements.RegisterAchievementCategory("PRISMANCER", category); Main.Achievements.RegisterAchievementCategory("SWORD_OF_THE_HERO", category); Main.Achievements.RegisterAchievementCategory("HOLD_ON_TIGHT", category); Main.Achievements.RegisterAchievementCategory("THE_CAVALRY", category); Main.Achievements.RegisterAchievementCategory("DYE_HARD", category); Main.Achievements.RegisterAchievementCategory("MATCHING_ATTIRE", category); Main.Achievements.RegisterAchievementCategory("FASHION_STATEMENT", category); Main.Achievements.RegisterAchievementCategory("COMPLETELY_AWESOME", category); Main.Achievements.RegisterAchievementCategory("TIMBER", category); Main.Achievements.RegisterAchievementCategory("SICK_THROW", category); Main.Achievements.RegisterAchievementCategory("GLORIOUS_GOLDEN_POLE", category); Main.Achievements.RegisterAchievementCategory("TEMPLE_RAIDER", category); Main.Achievements.RegisterAchievementCategory("LIKE_A_BOSS", category); Main.Achievements.Load(); Main.Achievements.OnAchievementCompleted += OnAchievementCompleted; AchievementsHelper.Initialize(); } }
public static void Order_is_not_negative(AchievementCategory actual) => Assert.InRange(actual.Order, 0, int.MaxValue);
partial void AchievementCategories_Updated(AchievementCategory entity) { StatusLog.UpdateStatus(string.Format("{0} updated category '{1}'", Application.User.FullName, entity.Description)); }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); _locked = !_achievement.IsCompleted; UpdateIconFrame(); CalculatedStyle innerDimensions = GetInnerDimensions(); CalculatedStyle dimensions = _achievementIconBorders.GetDimensions(); float num = dimensions.X + dimensions.Width; Vector2 value = new Vector2(num + 7f, innerDimensions.Y); Tuple <decimal, decimal> trackerValues = GetTrackerValues(); bool flag = false; if ((!(trackerValues.Item1 == 0m) || !(trackerValues.Item2 == 0m)) && _locked) { flag = true; } float num2 = innerDimensions.Width - dimensions.Width + 1f; Vector2 baseScale = new Vector2(0.85f); Vector2 baseScale2 = new Vector2(0.92f); Vector2 stringSize = ChatManager.GetStringSize(Main.fontItemStack, _achievement.Description.Value, baseScale2, num2); if (stringSize.Y > 38f) { baseScale2.Y *= 38f / stringSize.Y; } Color value2 = _locked ? Color.Silver : Color.Gold; value2 = Color.Lerp(value2, Color.White, base.IsMouseHovering ? 0.5f : 0f); Color value3 = _locked ? Color.DarkGray : Color.Silver; value3 = Color.Lerp(value3, Color.White, base.IsMouseHovering ? 1f : 0f); Color color = base.IsMouseHovering ? Color.White : Color.Gray; Vector2 vector = value - Vector2.UnitY * 2f; DrawPanelTop(spriteBatch, vector, num2, color); AchievementCategory category = _achievement.Category; vector.Y += 2f; vector.X += 4f; spriteBatch.Draw(_categoryTexture, vector, _categoryTexture.Frame(4, 2, (int)category), base.IsMouseHovering ? Color.White : Color.Silver, 0f, Vector2.Zero, 0.5f, SpriteEffects.None, 0f); vector.X += 4f; vector.X += 17f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, _achievement.FriendlyName.Value, vector, value2, 0f, Vector2.Zero, baseScale, num2); vector.X -= 17f; Vector2 position = value + Vector2.UnitY * 27f; DrawPanelBottom(spriteBatch, position, num2, color); position.X += 8f; position.Y += 4f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, _achievement.Description.Value, position, value3, 0f, Vector2.Zero, baseScale2, num2 - 10f); if (flag) { Vector2 vector2 = vector + Vector2.UnitX * num2 + Vector2.UnitY; string text = ((int)trackerValues.Item1).ToString() + "/" + ((int)trackerValues.Item2).ToString(); Vector2 baseScale3 = new Vector2(0.75f); Vector2 stringSize2 = ChatManager.GetStringSize(Main.fontItemStack, text, baseScale3); float progress = (float)(trackerValues.Item1 / trackerValues.Item2); float num3 = 80f; Color color2 = new Color(100, 255, 100); if (!base.IsMouseHovering) { color2 = Color.Lerp(color2, Color.Black, 0.25f); } Color color3 = new Color(255, 255, 255); if (!base.IsMouseHovering) { color3 = Color.Lerp(color3, Color.Black, 0.25f); } DrawProgressBar(spriteBatch, progress, vector2 - Vector2.UnitX * num3 * 0.7f, num3, color3, color2, color2.MultiplyRGBA(new Color(new Vector4(1f, 1f, 1f, 0.5f)))); vector2.X -= num3 * 1.4f + stringSize2.X; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, text, vector2, value2, 0f, new Vector2(0f, 0f), baseScale3, 90f); } }
public void Delete(AchievementCategory achievementCategory) { _entityDeletionService.Delete(achievementCategory); }
public AchievementCategoryTreeNode(AchievementCategory achievementCategory) { AchievementCategory = achievementCategory; Text = $"{achievementCategory.Location} - {achievementCategory}"; Name = achievementCategory.ID.ToString(); }
private string GetAchievementCategoryText(AchievementCategory category) { string resourceId = string.Empty; switch (category) { case AchievementCategory.Unavailable: resourceId = Localization.ht_achievementcategory_Undefined; break; case AchievementCategory.Ranking: resourceId = Localization.ht_achievementcategory_Ranking; break; case AchievementCategory.Team: resourceId = Localization.ht_achievementcategory_Team; break; case AchievementCategory.Matches: resourceId = Localization.ht_achievementcategory_Matches; break; case AchievementCategory.Manager: resourceId = Localization.ht_achievementcategory_Manager; break; case AchievementCategory.SpecialAward: resourceId = Localization.ht_achievementcategory_SpecialAward; break; } return resourceManager.GetString(resourceId); }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); int num = _large.ToInt() * 6; Vector2 value = new Vector2(num, 0f); _locked = !_achievement.IsCompleted; UpdateIconFrame(); CalculatedStyle innerDimensions = GetInnerDimensions(); CalculatedStyle dimensions = _achievementIconBorders.GetDimensions(); float num2 = dimensions.X + dimensions.Width; Vector2 value2 = new Vector2(num2 + 7f, innerDimensions.Y); Tuple <decimal, decimal> trackerValues = GetTrackerValues(); bool flag = false; if ((!(trackerValues.Item1 == 0m) || !(trackerValues.Item2 == 0m)) && _locked) { flag = true; } float num3 = innerDimensions.Width - dimensions.Width + 1f - (float)(num * 2); Vector2 baseScale = new Vector2(0.85f); Vector2 baseScale2 = new Vector2(0.92f); string text = FontAssets.ItemStack.get_Value().CreateWrappedText(_achievement.Description.Value, (num3 - 20f) * (1f / baseScale2.X), Language.ActiveCulture.CultureInfo); Vector2 stringSize = ChatManager.GetStringSize(FontAssets.ItemStack.get_Value(), text, baseScale2, num3); if (!_large) { stringSize = ChatManager.GetStringSize(FontAssets.ItemStack.get_Value(), _achievement.Description.Value, baseScale2, num3); } float num4 = 38f + (float)(_large ? 20 : 0); if (stringSize.Y > num4) { baseScale2.Y *= num4 / stringSize.Y; } Color value3 = _locked ? Color.Silver : Color.Gold; value3 = Color.Lerp(value3, Color.White, base.IsMouseHovering ? 0.5f : 0f); Color value4 = _locked ? Color.DarkGray : Color.Silver; value4 = Color.Lerp(value4, Color.White, base.IsMouseHovering ? 1f : 0f); Color color = base.IsMouseHovering ? Color.White : Color.Gray; Vector2 vector = value2 - Vector2.UnitY * 2f + value; DrawPanelTop(spriteBatch, vector, num3, color); AchievementCategory category = _achievement.Category; vector.Y += 2f; vector.X += 4f; spriteBatch.Draw(_categoryTexture.get_Value(), vector, _categoryTexture.Frame(4, 2, (int)category), base.IsMouseHovering ? Color.White : Color.Silver, 0f, Vector2.Zero, 0.5f, SpriteEffects.None, 0f); vector.X += 4f; vector.X += 17f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, FontAssets.ItemStack.get_Value(), _achievement.FriendlyName.Value, vector, value3, 0f, Vector2.Zero, baseScale, num3); vector.X -= 17f; Vector2 position = value2 + Vector2.UnitY * 27f + value; DrawPanelBottom(spriteBatch, position, num3, color); position.X += 8f; position.Y += 4f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, FontAssets.ItemStack.get_Value(), text, position, value4, 0f, Vector2.Zero, baseScale2); if (flag) { Vector2 vector2 = vector + Vector2.UnitX * num3 + Vector2.UnitY; string text2 = (int)trackerValues.Item1 + "/" + (int)trackerValues.Item2; Vector2 baseScale3 = new Vector2(0.75f); Vector2 stringSize2 = ChatManager.GetStringSize(FontAssets.ItemStack.get_Value(), text2, baseScale3); float progress = (float)(trackerValues.Item1 / trackerValues.Item2); float num5 = 80f; Color color2 = new Color(100, 255, 100); if (!base.IsMouseHovering) { color2 = Color.Lerp(color2, Color.Black, 0.25f); } Color color3 = new Color(255, 255, 255); if (!base.IsMouseHovering) { color3 = Color.Lerp(color3, Color.Black, 0.25f); } DrawProgressBar(spriteBatch, progress, vector2 - Vector2.UnitX * num5 * 0.7f, num5, color3, color2, color2.MultiplyRGBA(new Color(new Vector4(1f, 1f, 1f, 0.5f)))); vector2.X -= num5 * 1.4f + stringSize2.X; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, FontAssets.ItemStack.get_Value(), text2, vector2, value3, 0f, new Vector2(0f, 0f), baseScale3, 90f); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); int num1 = this._large.ToInt() * 6; Vector2 vector2_1; // ISSUE: explicit reference operation ((Vector2)@vector2_1).\u002Ector((float)num1, 0.0f); this._locked = !this._achievement.IsCompleted; this.UpdateIconFrame(); CalculatedStyle innerDimensions = this.GetInnerDimensions(); CalculatedStyle dimensions = this._achievementIconBorders.GetDimensions(); float num2 = dimensions.X + dimensions.Width; Vector2 vector2_2; // ISSUE: explicit reference operation ((Vector2)@vector2_2).\u002Ector(num2 + 7f, innerDimensions.Y); Tuple <Decimal, Decimal> trackerValues = this.GetTrackerValues(); bool flag = false; if ((!(trackerValues.get_Item1() == new Decimal(0)) || !(trackerValues.get_Item2() == new Decimal(0))) && this._locked) { flag = true; } float num3 = (float)((double)innerDimensions.Width - (double)dimensions.Width + 1.0) - (float)(num1 * 2); Vector2 baseScale1; // ISSUE: explicit reference operation ((Vector2)@baseScale1).\u002Ector(0.85f); Vector2 baseScale2; // ISSUE: explicit reference operation ((Vector2)@baseScale2).\u002Ector(0.92f); string wrappedText = Main.fontItemStack.CreateWrappedText(this._achievement.Description.Value, (float)(((double)num3 - 20.0) * (1.0 / baseScale2.X)), Language.ActiveCulture.CultureInfo); Vector2 stringSize1 = ChatManager.GetStringSize(Main.fontItemStack, wrappedText, baseScale2, num3); if (!this._large) { stringSize1 = ChatManager.GetStringSize(Main.fontItemStack, this._achievement.Description.Value, baseScale2, num3); } float num4 = (float)(38.0 + (this._large ? 20.0 : 0.0)); if (stringSize1.Y > (double)num4) { // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local = @baseScale2; // ISSUE: explicit reference operation double num5 = (^ local).Y * ((double)num4 / stringSize1.Y); // ISSUE: explicit reference operation (^ local).Y = (__Null)num5; } Color baseColor1 = Color.Lerp(this._locked ? Color.get_Silver() : Color.get_Gold(), Color.get_White(), this.IsMouseHovering ? 0.5f : 0.0f); Color baseColor2 = Color.Lerp(this._locked ? Color.get_DarkGray() : Color.get_Silver(), Color.get_White(), this.IsMouseHovering ? 1f : 0.0f); Color color1 = this.IsMouseHovering ? Color.get_White() : Color.get_Gray(); Vector2 position1 = Vector2.op_Addition(Vector2.op_Subtraction(vector2_2, Vector2.op_Multiply(Vector2.get_UnitY(), 2f)), vector2_1); this.DrawPanelTop(spriteBatch, position1, num3, color1); AchievementCategory category = this._achievement.Category; // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local1 = @position1; // ISSUE: explicit reference operation double num6 = (^ local1).Y + 2.0; // ISSUE: explicit reference operation (^ local1).Y = (__Null)num6; // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local2 = @position1; // ISSUE: explicit reference operation double num7 = (^ local2).X + 4.0; // ISSUE: explicit reference operation (^ local2).X = (__Null)num7; spriteBatch.Draw(this._categoryTexture, position1, new Rectangle?(this._categoryTexture.Frame(4, 2, (int)category, 0)), this.IsMouseHovering ? Color.get_White() : Color.get_Silver(), 0.0f, Vector2.get_Zero(), 0.5f, (SpriteEffects)0, 0.0f); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local3 = @position1; // ISSUE: explicit reference operation double num8 = (^ local3).X + 4.0; // ISSUE: explicit reference operation (^ local3).X = (__Null)num8; // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local4 = @position1; // ISSUE: explicit reference operation double num9 = (^ local4).X + 17.0; // ISSUE: explicit reference operation (^ local4).X = (__Null)num9; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, this._achievement.FriendlyName.Value, position1, baseColor1, 0.0f, Vector2.get_Zero(), baseScale1, num3, 2f); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local5 = @position1; // ISSUE: explicit reference operation double num10 = (^ local5).X - 17.0; // ISSUE: explicit reference operation (^ local5).X = (__Null)num10; Vector2 position2 = Vector2.op_Addition(Vector2.op_Addition(vector2_2, Vector2.op_Multiply(Vector2.get_UnitY(), 27f)), vector2_1); this.DrawPanelBottom(spriteBatch, position2, num3, color1); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local6 = @position2; // ISSUE: explicit reference operation double num11 = (^ local6).X + 8.0; // ISSUE: explicit reference operation (^ local6).X = (__Null)num11; // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local7 = @position2; // ISSUE: explicit reference operation double num12 = (^ local7).Y + 4.0; // ISSUE: explicit reference operation (^ local7).Y = (__Null)num12; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, wrappedText, position2, baseColor2, 0.0f, Vector2.get_Zero(), baseScale2, -1f, 2f); if (!flag) { return; } Vector2 position3 = Vector2.op_Addition(Vector2.op_Addition(position1, Vector2.op_Multiply(Vector2.get_UnitX(), num3)), Vector2.get_UnitY()); string text = (int)trackerValues.get_Item1().ToString() + "/" + (int)trackerValues.get_Item2().ToString(); Vector2 baseScale3; // ISSUE: explicit reference operation ((Vector2)@baseScale3).\u002Ector(0.75f); Vector2 stringSize2 = ChatManager.GetStringSize(Main.fontItemStack, text, baseScale3, -1f); float progress = (float)(trackerValues.get_Item1() / trackerValues.get_Item2()); float Width = 80f; Color color2; // ISSUE: explicit reference operation ((Color)@color2).\u002Ector(100, (int)byte.MaxValue, 100); if (!this.IsMouseHovering) { color2 = Color.Lerp(color2, Color.get_Black(), 0.25f); } Color BackColor; // ISSUE: explicit reference operation ((Color)@BackColor).\u002Ector((int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue); if (!this.IsMouseHovering) { BackColor = Color.Lerp(BackColor, Color.get_Black(), 0.25f); } this.DrawProgressBar(spriteBatch, progress, Vector2.op_Subtraction(position3, Vector2.op_Multiply(Vector2.op_Multiply(Vector2.get_UnitX(), Width), 0.7f)), Width, BackColor, color2, color2.MultiplyRGBA(new Color(new Vector4(1f, 1f, 1f, 0.5f)))); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Vector2& local8 = @position3; // ISSUE: explicit reference operation double num13 = (^ local8).X - ((double)Width * 1.39999997615814 + stringSize2.X); // ISSUE: explicit reference operation (^ local8).X = (__Null)num13; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, text, position3, baseColor1, 0.0f, new Vector2(0.0f, 0.0f), baseScale3, 90f, 2f); }
public void SetCategory(AchievementCategory category) { this._category = category; }
public static void Load() { if (Main.netMode == 2) { return; } Achievement achievement = new Achievement("TIMBER", "Timber!!", "Chop down your first tree."); short[] numArray = new short[] { 9, 619, 2504, 620, 2503, 2260, 621, 911, 1729 }; achievement.AddCondition(ItemPickupCondition.Create(numArray)); Main.Achievements.Register(achievement); achievement = new Achievement("NO_HOBO", "No Hobo", "Build a house suitable enough for your first town NPC, such as the guide, to move into."); achievement.AddCondition(ProgressionEventCondition.Create(8)); Main.Achievements.Register(achievement); achievement = new Achievement("OBTAIN_HAMMER", "Stop! Hammer Time!", "Obtain your first hammer via crafting or otherwise."); short[] numArray1 = new short[] { 2775, 2746, 3505, 654, 3517, 7, 3493, 2780, 1513, 2516, 660, 3481, 657, 922, 3511, 2785, 3499, 3487, 196, 367, 104, 797, 2320, 787, 1234, 1262, 3465, 204, 217, 1507, 3524, 3522, 3525, 3523, 1305 }; achievement.AddCondition(ItemPickupCondition.Create(numArray1)); Main.Achievements.Register(achievement); achievement = new Achievement("OOO_SHINY", "Ooo! Shiny!", "Mine your first nugget of ore with a pickaxe."); ushort[] numArray2 = new ushort[] { 7, 6, 9, 8, 166, 167, 168, 169, 22, 204, 58, 107, 108, 111, 221, 222, 223, 211 }; achievement.AddCondition(TileDestroyedCondition.Create(numArray2)); Main.Achievements.Register(achievement); achievement = new Achievement("HEART_BREAKER", "Heart Breaker", "Discover and smash your first heart crystal underground."); ushort[] numArray3 = new ushort[] { 12 }; achievement.AddCondition(TileDestroyedCondition.Create(numArray3)); Main.Achievements.Register(achievement); achievement = new Achievement("HEAVY_METAL", "Heavy Metal", "Obtain an anvil made from iron or lead."); short[] numArray4 = new short[] { 35, 716 }; achievement.AddCondition(ItemPickupCondition.Create(numArray4)); Main.Achievements.Register(achievement); achievement = new Achievement("I_AM_LOOT", "I Am Loot!", "Discover a golden chest underground and take a peek at its contents."); achievement.AddCondition(CustomFlagCondition.Create("Peek")); Main.Achievements.Register(achievement); achievement = new Achievement("STAR_POWER", "Star Power", "Craft a mana crystal out of fallen stars, and consume it."); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("HOLD_ON_TIGHT", "Hold on Tight!", "Equip your first grappling hook."); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("EYE_ON_YOU", "Eye on You", "Defeat the Eye of Cthulhu, an ocular menace who only appears at night."); achievement.AddCondition(NPCKilledCondition.Create(4)); Main.Achievements.Register(achievement); achievement = new Achievement("SMASHING_POPPET", "Smashing, Poppet!", "Using explosives or your trusty hammer, smash a Shadow Orb or Crimson Heart in the evil parts of your world."); achievement.AddCondition(ProgressionEventCondition.Create(7)); Main.Achievements.Register(achievement); achievement = new Achievement("WORM_FODDER", "Worm Fodder", "Defeat the Eater of Worlds, a massive worm whom dwells in the corruption."); short[] numArray5 = new short[] { 13, 14, 15 }; achievement.AddCondition(NPCKilledCondition.Create(numArray5)); Main.Achievements.Register(achievement); achievement = new Achievement("MASTERMIND", "Mastermind", "Defeat the Brain of Cthulhu, an enourmous demon brain which haunts the creeping crimson."); achievement.AddCondition(NPCKilledCondition.Create(266)); Main.Achievements.Register(achievement); achievement = new Achievement("WHERES_MY_HONEY", "Where's My Honey?", "Discover a large bee's hive deep in the jungle."); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("STING_OPERATION", "Sting Operation", "Defeat the Queen Bee, the matriarch of the jungle hives."); achievement.AddCondition(NPCKilledCondition.Create(222)); Main.Achievements.Register(achievement); achievement = new Achievement("BONED", "Boned", "Defeat Skeletron, the cursed guardian of the dungeon."); achievement.AddCondition(NPCKilledCondition.Create(35)); Main.Achievements.Register(achievement); achievement = new Achievement("DUNGEON_HEIST", "Dungeon Heist", "Steal a key from dungeon's undead denizens, and unlock one of their precious golden chests."); achievement.AddCondition(ItemPickupCondition.Create(327)); achievement.AddCondition(ProgressionEventCondition.Create(19)); Main.Achievements.Register(achievement); achievement = new Achievement("ITS_GETTING_HOT_IN_HERE", "It's Getting Hot in Here", "Spelunk deep enough to reach the molten underworld."); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("MINER_FOR_FIRE", "Miner for Fire", "Craft a molten pickaxe using the hottest of materials."); achievement.AddCondition(ItemCraftCondition.Create(122)); Main.Achievements.Register(achievement); achievement = new Achievement("STILL_HUNGRY", "Still Hungry", "Defeat the Wall of Flesh, the master and core of the world who arises after a great, burning sacrifice."); short[] numArray6 = new short[] { 113, 114 }; achievement.AddCondition(NPCKilledCondition.Create(numArray6)); Main.Achievements.Register(achievement); achievement = new Achievement("ITS_HARD", "It's Hard!", "Unleash the ancient spirits of light and darkness across your world, enabling much stronger foes and showering the world with dazzling treasures (and rainbows!)."); achievement.AddCondition(ProgressionEventCondition.Create(9)); Main.Achievements.Register(achievement); achievement = new Achievement("BEGONE_EVIL", "Begone, Evil!", "Smash a demon or crimson altar with a powerful, holy hammer."); achievement.AddCondition(ProgressionEventCondition.Create(6)); Main.Achievements.Register(achievement); achievement = new Achievement("EXTRA_SHINY", "Extra Shiny!", "Mine a powerful ore that has been newly blessed upon your world."); ushort[] numArray7 = new ushort[] { 107, 108, 111, 221, 222, 223 }; achievement.AddCondition(TileDestroyedCondition.Create(numArray7)); Main.Achievements.Register(achievement); achievement = new Achievement("HEAD_IN_THE_CLOUDS", "Head in the Clouds", "Equip a pair of wings."); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("LIKE_A_BOSS", "Like a Boss", "Obtain a boss-summoning item."); short[] numArray8 = new short[] { 1133, 1331, 1307, 267, 1293, 557, 544, 556, 560, 43, 70 }; achievement.AddCondition(ItemPickupCondition.Create(numArray8)); Main.Achievements.Register(achievement); achievement = new Achievement("BUCKETS_OF_BOLTS", "Buckets of Bolts", "Defeat the three nocturnal mechanical menaces: the Twins, the Destroyer, and Skeletron Prime."); short[] numArray9 = new short[] { 125, 126 }; achievement.AddCondition(NPCKilledCondition.Create(numArray9)); short[] numArray10 = new short[] { 127, 134 }; achievement.AddConditions(NPCKilledCondition.CreateMany(numArray10)); achievement.UseConditionsCompletedTracker(); Main.Achievements.Register(achievement); achievement = new Achievement("DRAX_ATTAX", "Drax Attax", "Craft a drax or pickaxe axe using hallowed bars, and the souls of the three mechanical bosses."); short[] numArray11 = new short[] { 579, 990 }; achievement.AddCondition(ItemCraftCondition.Create(numArray11)); Main.Achievements.Register(achievement); achievement = new Achievement("PHOTOSYNTHESIS", "Photosynthesis", "Mine chlorophyte, an organic ore found deep among the thickest of flora."); ushort[] numArray12 = new ushort[] { 211 }; achievement.AddCondition(TileDestroyedCondition.Create(numArray12)); Main.Achievements.Register(achievement); achievement = new Achievement("GET_A_LIFE", "Get a Life", "Consume a life fruit, which grows in the thick of subterranean jungle grass."); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("THE_GREAT_SOUTHERN_PLANTKILL", "The Great Southern Plantkill", "Defeat Plantera, the overgrown monstrosity of the jungle's depths."); achievement.AddCondition(NPCKilledCondition.Create(262)); Main.Achievements.Register(achievement); achievement = new Achievement("TEMPLE_RAIDER", "Temple Raider", "Breach the impenetrable walls of the jungle temple."); ushort[] numArray13 = new ushort[] { 226 }; achievement.AddCondition(TileDestroyedCondition.Create(numArray13)); Main.Achievements.Register(achievement); achievement = new Achievement("LIHZAHRDIAN_IDOL", "Lihzahrdian Idol", "Defeat Golem, the stone-faced ritualistic idol of the lihzahrd tribe."); achievement.AddCondition(NPCKilledCondition.Create(245)); Main.Achievements.Register(achievement); achievement = new Achievement("ROBBING_THE_GRAVE", "Robbing the Grave", "Obtain a rare treasure from a difficult monster in the dungeon."); short[] numArray14 = new short[] { 1513, 938, 963, 977, 1300, 1254, 1514, 679, 759, 1446, 1445, 1444, 1183, 1266, 671 }; achievement.AddCondition(ItemPickupCondition.Create(numArray14)); Main.Achievements.Register(achievement); achievement = new Achievement("BIG_BOOTY", "Big Booty", "Unlock one of the dungeon's large, mysterious chests with a special key."); achievement.AddCondition(ProgressionEventCondition.Create(20)); Main.Achievements.Register(achievement); achievement = new Achievement("FISH_OUT_OF_WATER", "Fish Out of Water", "Defeat Duke Fishron, mutant terror of the sea."); achievement.AddCondition(NPCKilledCondition.Create(370)); Main.Achievements.Register(achievement); achievement = new Achievement("OBSESSIVE_DEVOTION", "Obsessive Devotion", "Defeat the Ancient Cultist, fanatical leader of the dungeon coven."); achievement.AddCondition(NPCKilledCondition.Create(439)); Main.Achievements.Register(achievement); achievement = new Achievement("STAR_DESTROYER", "Star Destroyer", "Defeat the four celestial towers of the moon."); short[] numArray15 = new short[] { 517, 422, 507, 493 }; achievement.AddConditions(NPCKilledCondition.CreateMany(numArray15)); Main.Achievements.Register(achievement); achievement = new Achievement("CHAMPION_OF_TERRARIA", "Champion of Terraria", "Defeat the Moon Lord."); achievement.AddCondition(NPCKilledCondition.Create(398)); Main.Achievements.Register(achievement); achievement = new Achievement("BLOODBATH", "Bloodbath", "Survive a blood moon, a nocturnal event where the rivers run red and monsters swarm aplenty."); achievement.AddCondition(ProgressionEventCondition.Create(5)); Main.Achievements.Register(achievement); achievement = new Achievement("SLIPPERY_SHINOBI", "Slippery Shinobi", "Defeat King Slime, the lord of all things slimy."); achievement.AddCondition(NPCKilledCondition.Create(50)); Main.Achievements.Register(achievement); achievement = new Achievement("GOBLIN_PUNTER", "Goblin Punter", "Triumph over a goblin invasion, a ragtag regiment of crude, barbaric, pointy-eared warriors and their shadowflame sorcerers."); achievement.AddCondition(ProgressionEventCondition.Create(10)); Main.Achievements.Register(achievement); achievement = new Achievement("WALK_THE_PLANK", "Walk the Plank", "Triumph over a pirate invasion, a group of pillagers from the sea out for your booty... and your life!"); achievement.AddCondition(ProgressionEventCondition.Create(11)); Main.Achievements.Register(achievement); achievement = new Achievement("KILL_THE_SUN", "Kill the Sun", "Survive a solar eclipse, a day darker than night filled with creatures of horror."); achievement.AddCondition(ProgressionEventCondition.Create(3)); Main.Achievements.Register(achievement); achievement = new Achievement("DO_YOU_WANT_TO_SLAY_A_SNOWMAN", "Do You Want to Slay a Snowman?", "Triumph over the frost legion, a festive family of maniacal snowman mobsters."); achievement.AddCondition(ProgressionEventCondition.Create(12)); Main.Achievements.Register(achievement); achievement = new Achievement("TIN_FOIL_HATTER", "Tin-Foil Hatter", "Triumph over a martian invasion, when beings from out of this world come to scramble your brains and probe you in uncomfortable places."); achievement.AddCondition(ProgressionEventCondition.Create(13)); Main.Achievements.Register(achievement); achievement = new Achievement("BALEFUL_HARVEST", "Baleful Harvest", "Reach the 15th wave of a pumpkin moon, where evil lurks among the autumn harvest."); achievement.AddCondition(ProgressionEventCondition.Create(15)); Main.Achievements.Register(achievement); achievement = new Achievement("ICE_SCREAM", "Ice Scream", "Reach the 15th wave of a frost moon, where the festive season quickly degrades into madness."); achievement.AddCondition(ProgressionEventCondition.Create(14)); Main.Achievements.Register(achievement); achievement = new Achievement("STICKY_SITUATION", "Sticky Situation", "Survive the slime rain, where gelatinous organisms fall from the sky in droves."); achievement.AddCondition(ProgressionEventCondition.Create(16)); Main.Achievements.Register(achievement); achievement = new Achievement("REAL_ESTATE_AGENT", "Real Estate Agent", "Have all possible town NPCs living in your world."); achievement.AddCondition(ProgressionEventCondition.Create(17)); Main.Achievements.Register(achievement); achievement = new Achievement("NOT_THE_BEES", "Not the Bees!", "Fire a Bee Gun while wearing a full set of Bee Armor."); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("JEEPERS_CREEPERS", "Jeepers Creepers", "Stumble into a spider cavern in the underground."); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("FUNKYTOWN", "Funkytown", "Build or encounter a glowing mushroom field above the surface."); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("INTO_ORBIT", "Into Orbit", "You can only go down from here!"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("ROCK_BOTTOM", "Rock Bottom", "The only way is up!"); achievement.AddCondition(CustomFlagCondition.Create("Reach")); Main.Achievements.Register(achievement); achievement = new Achievement("MECHA_MAYHEM", "Mecha Mayhem", "Do battle against the Twins, the Destroyer, and Skeletron Prime simultaneously and emerge victorious."); achievement.AddCondition(ProgressionEventCondition.Create(21)); Main.Achievements.Register(achievement); achievement = new Achievement("GELATIN_WORLD_TOUR", "Gelatin World Tour", "Defeat every type of slime there is!"); short[] numArray16 = new short[] { -5, -6, 1, 81, 71, -3, 147, 138, -10, 50, 59, 16, -7, 244, -8, -1, -2, 184, 204, 225, -9, 141, 183, -4 }; achievement.AddConditions(NPCKilledCondition.CreateMany(numArray16)); achievement.UseConditionsCompletedTracker(); Main.Achievements.Register(achievement); achievement = new Achievement("FASHION_STATEMENT", "Fashion Statement", "Equip armor or vanity clothing in all three social slots."); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("VEHICULAR_MANSLAUGHTER", "Vehicular Manslaughter", "Defeat an enemy by running it over with a minecart."); achievement.AddCondition(CustomFlagCondition.Create("Hit")); Main.Achievements.Register(achievement); achievement = new Achievement("BULLDOZER", "Bulldozer", "Destroy a total of 10,000 tiles."); achievement.AddCondition(CustomIntCondition.Create("Pick", 10000)); achievement.UseTrackerFromCondition("Pick"); Main.Achievements.Register(achievement); achievement = new Achievement("THERE_ARE_SOME_WHO_CALL_HIM", "There are Some Who Call Him...", "Kill Tim."); achievement.AddCondition(NPCKilledCondition.Create(45)); Main.Achievements.Register(achievement); achievement = new Achievement("DECEIVER_OF_FOOLS", "Deceiver of Fools", "Kill a nymph."); achievement.AddCondition(NPCKilledCondition.Create(196)); Main.Achievements.Register(achievement); achievement = new Achievement("SWORD_OF_THE_HERO", "Sword of the Hero", "Obtain a Terra Blade, forged from the finest blades of light and darkness."); achievement.AddCondition(ItemPickupCondition.Create(757)); Main.Achievements.Register(achievement); achievement = new Achievement("LUCKY_BREAK", "Lucky Break", "Survive a long fall with just a sliver of health remaining."); achievement.AddCondition(CustomFlagCondition.Create("Hit")); Main.Achievements.Register(achievement); achievement = new Achievement("THROWING_LINES", "Throwing Lines", "Throw a yoyo."); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("DYE_HARD", "Dye Hard", "Equip a dye in every possible dye slot."); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("SICK_THROW", "Sick Throw", "Obtain the Terrarian."); achievement.AddCondition(ItemPickupCondition.Create(3389)); Main.Achievements.Register(achievement); achievement = new Achievement("FREQUENT_FLYER", "The Frequent Flyer", "Spend over 1 gold being treated by the nurse."); achievement.AddCondition(CustomFloatCondition.Create("Pay", 10000f)); achievement.UseTrackerFromCondition("Pay"); Main.Achievements.Register(achievement); achievement = new Achievement("THE_CAVALRY", "The Cavalry", "Equip a mount."); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); achievement = new Achievement("COMPLETELY_AWESOME", "Completely Awesome", "Obtain a minishark."); achievement.AddCondition(ItemPickupCondition.Create(98)); Main.Achievements.Register(achievement); achievement = new Achievement("TIL_DEATH", "Til Death...", "Kill the groom."); achievement.AddCondition(NPCKilledCondition.Create(53)); Main.Achievements.Register(achievement); achievement = new Achievement("ARCHAEOLOGIST", "Archaeologist", "Kill Doctor Bones."); achievement.AddCondition(NPCKilledCondition.Create(52)); Main.Achievements.Register(achievement); achievement = new Achievement("PRETTY_IN_PINK", "Pretty in Pink", "Kill pinky."); achievement.AddCondition(NPCKilledCondition.Create(-4)); Main.Achievements.Register(achievement); achievement = new Achievement("RAINBOWS_AND_UNICORNS", "Rainbows and Unicorns", "Fire a rainbow gun while riding on a unicorn."); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("YOU_AND_WHAT_ARMY", "You and What Army?", "Command nine summoned minions simultaneously."); achievement.AddCondition(CustomFlagCondition.Create("Spawn")); Main.Achievements.Register(achievement); achievement = new Achievement("PRISMANCER", "Prismancer", "Obtain a rainbow rod."); achievement.AddCondition(ItemPickupCondition.Create(495)); Main.Achievements.Register(achievement); achievement = new Achievement("IT_CAN_TALK", "It Can Talk?!", "Build a house in a mushroom biome and have Truffle move in."); achievement.AddCondition(ProgressionEventCondition.Create(18)); Main.Achievements.Register(achievement); achievement = new Achievement("WATCH_YOUR_STEP", "Watch Your Step!", "Become a victim to a nasty underground trap."); achievement.AddCondition(CustomFlagCondition.Create("Hit")); Main.Achievements.Register(achievement); achievement = new Achievement("MARATHON_MEDALIST", "Marathon Medalist", "Travel a total of 26.2 miles on foot."); achievement.AddCondition(CustomFloatCondition.Create("Move", 1106688f)); achievement.UseTrackerFromCondition("Move"); Main.Achievements.Register(achievement); achievement = new Achievement("GLORIOUS_GOLDEN_POLE", "Glorious Golden Pole", "Obtain a golden fishing rod."); achievement.AddCondition(ItemPickupCondition.Create(2294)); Main.Achievements.Register(achievement); achievement = new Achievement("SERVANT_IN_TRAINING", "Servant-in-Training", "Complete your 1st quest for the angler."); achievement.AddCondition(CustomFlagCondition.Create("Finish")); Main.Achievements.Register(achievement); achievement = new Achievement("GOOD_LITTLE_SLAVE", "Good Little Slave", "Complete your 10th quest for the angler."); achievement.AddCondition(CustomFloatCondition.Create("Finish", 10f)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("TROUT_MONKEY", "Trout Monkey", "Complete your 25th quest for the angler."); achievement.AddCondition(CustomFloatCondition.Create("Finish", 25f)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("FAST_AND_FISHIOUS", "Fast and Fishious", "Complete your 50th quest for the angler."); achievement.AddCondition(CustomFloatCondition.Create("Finish", 50f)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("SUPREME_HELPER_MINION", "Supreme Helper Minion!", "Complete a grand total of 200 quests for the angler."); achievement.AddCondition(CustomFloatCondition.Create("Finish", 200f)); achievement.UseTrackerFromCondition("Finish"); Main.Achievements.Register(achievement); achievement = new Achievement("TOPPED_OFF", "Topped Off", "Attain maximum health and mana possible without accessories or buffs."); achievement.AddCondition(CustomFlagCondition.Create("Use")); Main.Achievements.Register(achievement); achievement = new Achievement("SLAYER_OF_WORLDS", "Slayer of Worlds", "Defeat every boss in Terraria."); short[] numArray17 = new short[] { 13, 14, 15 }; achievement.AddCondition(NPCKilledCondition.Create(numArray17)); short[] numArray18 = new short[] { 113, 114 }; achievement.AddCondition(NPCKilledCondition.Create(numArray18)); short[] numArray19 = new short[] { 125, 126 }; achievement.AddCondition(NPCKilledCondition.Create(numArray19)); short[] numArray20 = new short[] { 4, 35, 50, 222, 113, 134, 127, 262, 245, 439, 398, 370 }; achievement.AddConditions(NPCKilledCondition.CreateMany(numArray20)); achievement.UseConditionsCompletedTracker(); Main.Achievements.Register(achievement); achievement = new Achievement("YOU_CAN_DO_IT", "You Can Do It!", "Survive your character's first full night."); achievement.AddCondition(ProgressionEventCondition.Create(1)); Main.Achievements.Register(achievement); achievement = new Achievement("MATCHING_ATTIRE", "Matching Attire", "Equip armor in all three armor slots: head, chest, and feet."); achievement.AddCondition(CustomFlagCondition.Create("Equip")); Main.Achievements.Register(achievement); int num = 0; int num1 = num + 1; Main.Achievements.RegisterIconIndex("TIMBER", num); int num2 = num1; num1 = num2 + 1; Main.Achievements.RegisterIconIndex("NO_HOBO", num2); int num3 = num1; num1 = num3 + 1; Main.Achievements.RegisterIconIndex("OBTAIN_HAMMER", num3); int num4 = num1; num1 = num4 + 1; Main.Achievements.RegisterIconIndex("HEART_BREAKER", num4); int num5 = num1; num1 = num5 + 1; Main.Achievements.RegisterIconIndex("OOO_SHINY", num5); int num6 = num1; num1 = num6 + 1; Main.Achievements.RegisterIconIndex("HEAVY_METAL", num6); int num7 = num1; num1 = num7 + 1; Main.Achievements.RegisterIconIndex("I_AM_LOOT", num7); int num8 = num1; num1 = num8 + 1; Main.Achievements.RegisterIconIndex("STAR_POWER", num8); int num9 = num1; num1 = num9 + 1; Main.Achievements.RegisterIconIndex("HOLD_ON_TIGHT", num9); int num10 = num1; num1 = num10 + 1; Main.Achievements.RegisterIconIndex("EYE_ON_YOU", num10); int num11 = num1; num1 = num11 + 1; Main.Achievements.RegisterIconIndex("SMASHING_POPPET", num11); int num12 = num1; num1 = num12 + 1; Main.Achievements.RegisterIconIndex("WORM_FODDER", num12); int num13 = num1; num1 = num13 + 1; Main.Achievements.RegisterIconIndex("MASTERMIND", num13); int num14 = num1; num1 = num14 + 1; Main.Achievements.RegisterIconIndex("WHERES_MY_HONEY", num14); int num15 = num1; num1 = num15 + 1; Main.Achievements.RegisterIconIndex("STING_OPERATION", num15); int num16 = num1; num1 = num16 + 1; Main.Achievements.RegisterIconIndex("BONED", num16); int num17 = num1; num1 = num17 + 1; Main.Achievements.RegisterIconIndex("DUNGEON_HEIST", num17); int num18 = num1; num1 = num18 + 1; Main.Achievements.RegisterIconIndex("ITS_GETTING_HOT_IN_HERE", num18); int num19 = num1; num1 = num19 + 1; Main.Achievements.RegisterIconIndex("MINER_FOR_FIRE", num19); int num20 = num1; num1 = num20 + 1; Main.Achievements.RegisterIconIndex("STILL_HUNGRY", num20); int num21 = num1; num1 = num21 + 1; Main.Achievements.RegisterIconIndex("ITS_HARD", num21); int num22 = num1; num1 = num22 + 1; Main.Achievements.RegisterIconIndex("BEGONE_EVIL", num22); int num23 = num1; num1 = num23 + 1; Main.Achievements.RegisterIconIndex("EXTRA_SHINY", num23); int num24 = num1; num1 = num24 + 1; Main.Achievements.RegisterIconIndex("HEAD_IN_THE_CLOUDS", num24); int num25 = num1; num1 = num25 + 1; Main.Achievements.RegisterIconIndex("LIKE_A_BOSS", num25); int num26 = num1; num1 = num26 + 1; Main.Achievements.RegisterIconIndex("BUCKETS_OF_BOLTS", num26); int num27 = num1; num1 = num27 + 1; Main.Achievements.RegisterIconIndex("DRAX_ATTAX", num27); int num28 = num1; num1 = num28 + 1; Main.Achievements.RegisterIconIndex("PHOTOSYNTHESIS", num28); int num29 = num1; num1 = num29 + 1; Main.Achievements.RegisterIconIndex("GET_A_LIFE", num29); int num30 = num1; num1 = num30 + 1; Main.Achievements.RegisterIconIndex("THE_GREAT_SOUTHERN_PLANTKILL", num30); int num31 = num1; num1 = num31 + 1; Main.Achievements.RegisterIconIndex("TEMPLE_RAIDER", num31); int num32 = num1; num1 = num32 + 1; Main.Achievements.RegisterIconIndex("LIHZAHRDIAN_IDOL", num32); int num33 = num1; num1 = num33 + 1; Main.Achievements.RegisterIconIndex("ROBBING_THE_GRAVE", num33); int num34 = num1; num1 = num34 + 1; Main.Achievements.RegisterIconIndex("BIG_BOOTY", num34); int num35 = num1; num1 = num35 + 1; Main.Achievements.RegisterIconIndex("FISH_OUT_OF_WATER", num35); int num36 = num1; num1 = num36 + 1; Main.Achievements.RegisterIconIndex("OBSESSIVE_DEVOTION", num36); int num37 = num1; num1 = num37 + 1; Main.Achievements.RegisterIconIndex("STAR_DESTROYER", num37); int num38 = num1; num1 = num38 + 1; Main.Achievements.RegisterIconIndex("CHAMPION_OF_TERRARIA", num38); int num39 = num1; num1 = num39 + 1; Main.Achievements.RegisterIconIndex("BLOODBATH", num39); int num40 = num1; num1 = num40 + 1; Main.Achievements.RegisterIconIndex("GOBLIN_PUNTER", num40); int num41 = num1; num1 = num41 + 1; Main.Achievements.RegisterIconIndex("KILL_THE_SUN", num41); int num42 = num1; num1 = num42 + 1; Main.Achievements.RegisterIconIndex("WALK_THE_PLANK", num42); int num43 = num1; num1 = num43 + 1; Main.Achievements.RegisterIconIndex("DO_YOU_WANT_TO_SLAY_A_SNOWMAN", num43); int num44 = num1; num1 = num44 + 1; Main.Achievements.RegisterIconIndex("TIN_FOIL_HATTER", num44); int num45 = num1; num1 = num45 + 1; Main.Achievements.RegisterIconIndex("BALEFUL_HARVEST", num45); int num46 = num1; num1 = num46 + 1; Main.Achievements.RegisterIconIndex("ICE_SCREAM", num46); int num47 = num1; num1 = num47 + 1; Main.Achievements.RegisterIconIndex("SLIPPERY_SHINOBI", num47); int num48 = num1; num1 = num48 + 1; Main.Achievements.RegisterIconIndex("STICKY_SITUATION", num48); int num49 = num1; num1 = num49 + 1; Main.Achievements.RegisterIconIndex("REAL_ESTATE_AGENT", num49); int num50 = num1; num1 = num50 + 1; Main.Achievements.RegisterIconIndex("NOT_THE_BEES", num50); int num51 = num1; num1 = num51 + 1; Main.Achievements.RegisterIconIndex("JEEPERS_CREEPERS", num51); int num52 = num1; num1 = num52 + 1; Main.Achievements.RegisterIconIndex("FUNKYTOWN", num52); int num53 = num1; num1 = num53 + 1; Main.Achievements.RegisterIconIndex("INTO_ORBIT", num53); int num54 = num1; num1 = num54 + 1; Main.Achievements.RegisterIconIndex("ROCK_BOTTOM", num54); int num55 = num1; num1 = num55 + 1; Main.Achievements.RegisterIconIndex("MECHA_MAYHEM", num55); int num56 = num1; num1 = num56 + 1; Main.Achievements.RegisterIconIndex("GELATIN_WORLD_TOUR", num56); int num57 = num1; num1 = num57 + 1; Main.Achievements.RegisterIconIndex("FASHION_STATEMENT", num57); int num58 = num1; num1 = num58 + 1; Main.Achievements.RegisterIconIndex("VEHICULAR_MANSLAUGHTER", num58); int num59 = num1; num1 = num59 + 1; Main.Achievements.RegisterIconIndex("BULLDOZER", num59); int num60 = num1; num1 = num60 + 1; Main.Achievements.RegisterIconIndex("THERE_ARE_SOME_WHO_CALL_HIM", num60); int num61 = num1; num1 = num61 + 1; Main.Achievements.RegisterIconIndex("DECEIVER_OF_FOOLS", num61); int num62 = num1; num1 = num62 + 1; Main.Achievements.RegisterIconIndex("SWORD_OF_THE_HERO", num62); int num63 = num1; num1 = num63 + 1; Main.Achievements.RegisterIconIndex("LUCKY_BREAK", num63); int num64 = num1; num1 = num64 + 1; Main.Achievements.RegisterIconIndex("THROWING_LINES", num64); int num65 = num1; num1 = num65 + 1; Main.Achievements.RegisterIconIndex("DYE_HARD", num65); int num66 = num1; num1 = num66 + 1; Main.Achievements.RegisterIconIndex("FREQUENT_FLYER", num66); int num67 = num1; num1 = num67 + 1; Main.Achievements.RegisterIconIndex("THE_CAVALRY", num67); int num68 = num1; num1 = num68 + 1; Main.Achievements.RegisterIconIndex("COMPLETELY_AWESOME", num68); int num69 = num1; num1 = num69 + 1; Main.Achievements.RegisterIconIndex("TIL_DEATH", num69); int num70 = num1; num1 = num70 + 1; Main.Achievements.RegisterIconIndex("ARCHAEOLOGIST", num70); int num71 = num1; num1 = num71 + 1; Main.Achievements.RegisterIconIndex("PRETTY_IN_PINK", num71); int num72 = num1; num1 = num72 + 1; Main.Achievements.RegisterIconIndex("RAINBOWS_AND_UNICORNS", num72); int num73 = num1; num1 = num73 + 1; Main.Achievements.RegisterIconIndex("YOU_AND_WHAT_ARMY", num73); int num74 = num1; num1 = num74 + 1; Main.Achievements.RegisterIconIndex("PRISMANCER", num74); int num75 = num1; num1 = num75 + 1; Main.Achievements.RegisterIconIndex("IT_CAN_TALK", num75); int num76 = num1; num1 = num76 + 1; Main.Achievements.RegisterIconIndex("WATCH_YOUR_STEP", num76); int num77 = num1; num1 = num77 + 1; Main.Achievements.RegisterIconIndex("MARATHON_MEDALIST", num77); int num78 = num1; num1 = num78 + 1; Main.Achievements.RegisterIconIndex("GLORIOUS_GOLDEN_POLE", num78); int num79 = num1; num1 = num79 + 1; Main.Achievements.RegisterIconIndex("SERVANT_IN_TRAINING", num79); int num80 = num1; num1 = num80 + 1; Main.Achievements.RegisterIconIndex("GOOD_LITTLE_SLAVE", num80); int num81 = num1; num1 = num81 + 1; Main.Achievements.RegisterIconIndex("TROUT_MONKEY", num81); int num82 = num1; num1 = num82 + 1; Main.Achievements.RegisterIconIndex("FAST_AND_FISHIOUS", num82); int num83 = num1; num1 = num83 + 1; Main.Achievements.RegisterIconIndex("SUPREME_HELPER_MINION", num83); int num84 = num1; num1 = num84 + 1; Main.Achievements.RegisterIconIndex("TOPPED_OFF", num84); int num85 = num1; num1 = num85 + 1; Main.Achievements.RegisterIconIndex("SLAYER_OF_WORLDS", num85); int num86 = num1; num1 = num86 + 1; Main.Achievements.RegisterIconIndex("YOU_CAN_DO_IT", num86); int num87 = num1; num1 = num87 + 1; Main.Achievements.RegisterIconIndex("SICK_THROW", num87); int num88 = num1; num1 = num88 + 1; Main.Achievements.RegisterIconIndex("MATCHING_ATTIRE", num88); AchievementCategory achievementCategory = AchievementCategory.Slayer; Main.Achievements.RegisterAchievementCategory("EYE_ON_YOU", achievementCategory); Main.Achievements.RegisterAchievementCategory("SLIPPERY_SHINOBI", achievementCategory); Main.Achievements.RegisterAchievementCategory("WORM_FODDER", achievementCategory); Main.Achievements.RegisterAchievementCategory("MASTERMIND", achievementCategory); Main.Achievements.RegisterAchievementCategory("STING_OPERATION", achievementCategory); Main.Achievements.RegisterAchievementCategory("BONED", achievementCategory); Main.Achievements.RegisterAchievementCategory("STILL_HUNGRY", achievementCategory); Main.Achievements.RegisterAchievementCategory("BUCKETS_OF_BOLTS", achievementCategory); Main.Achievements.RegisterAchievementCategory("THE_GREAT_SOUTHERN_PLANTKILL", achievementCategory); Main.Achievements.RegisterAchievementCategory("LIHZAHRDIAN_IDOL", achievementCategory); Main.Achievements.RegisterAchievementCategory("FISH_OUT_OF_WATER", achievementCategory); Main.Achievements.RegisterAchievementCategory("OBSESSIVE_DEVOTION", achievementCategory); Main.Achievements.RegisterAchievementCategory("STAR_DESTROYER", achievementCategory); Main.Achievements.RegisterAchievementCategory("CHAMPION_OF_TERRARIA", achievementCategory); Main.Achievements.RegisterAchievementCategory("GOBLIN_PUNTER", achievementCategory); Main.Achievements.RegisterAchievementCategory("DO_YOU_WANT_TO_SLAY_A_SNOWMAN", achievementCategory); Main.Achievements.RegisterAchievementCategory("WALK_THE_PLANK", achievementCategory); Main.Achievements.RegisterAchievementCategory("BALEFUL_HARVEST", achievementCategory); Main.Achievements.RegisterAchievementCategory("ICE_SCREAM", achievementCategory); Main.Achievements.RegisterAchievementCategory("TIN_FOIL_HATTER", achievementCategory); Main.Achievements.RegisterAchievementCategory("TIL_DEATH", achievementCategory); Main.Achievements.RegisterAchievementCategory("THERE_ARE_SOME_WHO_CALL_HIM", achievementCategory); Main.Achievements.RegisterAchievementCategory("ARCHAEOLOGIST", achievementCategory); Main.Achievements.RegisterAchievementCategory("PRETTY_IN_PINK", achievementCategory); Main.Achievements.RegisterAchievementCategory("DECEIVER_OF_FOOLS", achievementCategory); Main.Achievements.RegisterAchievementCategory("VEHICULAR_MANSLAUGHTER", achievementCategory); achievementCategory = AchievementCategory.Explorer; Main.Achievements.RegisterAchievementCategory("SMASHING_POPPET", achievementCategory); Main.Achievements.RegisterAchievementCategory("BEGONE_EVIL", achievementCategory); Main.Achievements.RegisterAchievementCategory("ITS_HARD", achievementCategory); Main.Achievements.RegisterAchievementCategory("FUNKYTOWN", achievementCategory); Main.Achievements.RegisterAchievementCategory("WATCH_YOUR_STEP", achievementCategory); Main.Achievements.RegisterAchievementCategory("YOU_CAN_DO_IT", achievementCategory); Main.Achievements.RegisterAchievementCategory("BLOODBATH", achievementCategory); Main.Achievements.RegisterAchievementCategory("KILL_THE_SUN", achievementCategory); Main.Achievements.RegisterAchievementCategory("STICKY_SITUATION", achievementCategory); Main.Achievements.RegisterAchievementCategory("NO_HOBO", achievementCategory); Main.Achievements.RegisterAchievementCategory("IT_CAN_TALK", achievementCategory); Main.Achievements.RegisterAchievementCategory("HEART_BREAKER", achievementCategory); Main.Achievements.RegisterAchievementCategory("I_AM_LOOT", achievementCategory); Main.Achievements.RegisterAchievementCategory("ROBBING_THE_GRAVE", achievementCategory); Main.Achievements.RegisterAchievementCategory("GET_A_LIFE", achievementCategory); Main.Achievements.RegisterAchievementCategory("JEEPERS_CREEPERS", achievementCategory); Main.Achievements.RegisterAchievementCategory("WHERES_MY_HONEY", achievementCategory); Main.Achievements.RegisterAchievementCategory("DUNGEON_HEIST", achievementCategory); Main.Achievements.RegisterAchievementCategory("BIG_BOOTY", achievementCategory); Main.Achievements.RegisterAchievementCategory("ITS_GETTING_HOT_IN_HERE", achievementCategory); Main.Achievements.RegisterAchievementCategory("INTO_ORBIT", achievementCategory); Main.Achievements.RegisterAchievementCategory("ROCK_BOTTOM", achievementCategory); Main.Achievements.RegisterAchievementCategory("OOO_SHINY", achievementCategory); Main.Achievements.RegisterAchievementCategory("EXTRA_SHINY", achievementCategory); Main.Achievements.RegisterAchievementCategory("PHOTOSYNTHESIS", achievementCategory); achievementCategory = AchievementCategory.Challenger; Main.Achievements.RegisterAchievementCategory("GELATIN_WORLD_TOUR", achievementCategory); Main.Achievements.RegisterAchievementCategory("SLAYER_OF_WORLDS", achievementCategory); Main.Achievements.RegisterAchievementCategory("REAL_ESTATE_AGENT", achievementCategory); Main.Achievements.RegisterAchievementCategory("YOU_AND_WHAT_ARMY", achievementCategory); Main.Achievements.RegisterAchievementCategory("TOPPED_OFF", achievementCategory); Main.Achievements.RegisterAchievementCategory("MECHA_MAYHEM", achievementCategory); Main.Achievements.RegisterAchievementCategory("BULLDOZER", achievementCategory); Main.Achievements.RegisterAchievementCategory("NOT_THE_BEES", achievementCategory); Main.Achievements.RegisterAchievementCategory("RAINBOWS_AND_UNICORNS", achievementCategory); Main.Achievements.RegisterAchievementCategory("THROWING_LINES", achievementCategory); Main.Achievements.RegisterAchievementCategory("FREQUENT_FLYER", achievementCategory); Main.Achievements.RegisterAchievementCategory("LUCKY_BREAK", achievementCategory); Main.Achievements.RegisterAchievementCategory("MARATHON_MEDALIST", achievementCategory); Main.Achievements.RegisterAchievementCategory("SERVANT_IN_TRAINING", achievementCategory); Main.Achievements.RegisterAchievementCategory("GOOD_LITTLE_SLAVE", achievementCategory); Main.Achievements.RegisterAchievementCategory("TROUT_MONKEY", achievementCategory); Main.Achievements.RegisterAchievementCategory("FAST_AND_FISHIOUS", achievementCategory); Main.Achievements.RegisterAchievementCategory("SUPREME_HELPER_MINION", achievementCategory); achievementCategory = AchievementCategory.Collector; Main.Achievements.RegisterAchievementCategory("OBTAIN_HAMMER", achievementCategory); Main.Achievements.RegisterAchievementCategory("HEAVY_METAL", achievementCategory); Main.Achievements.RegisterAchievementCategory("STAR_POWER", achievementCategory); Main.Achievements.RegisterAchievementCategory("MINER_FOR_FIRE", achievementCategory); Main.Achievements.RegisterAchievementCategory("HEAD_IN_THE_CLOUDS", achievementCategory); Main.Achievements.RegisterAchievementCategory("DRAX_ATTAX", achievementCategory); Main.Achievements.RegisterAchievementCategory("PRISMANCER", achievementCategory); Main.Achievements.RegisterAchievementCategory("SWORD_OF_THE_HERO", achievementCategory); Main.Achievements.RegisterAchievementCategory("HOLD_ON_TIGHT", achievementCategory); Main.Achievements.RegisterAchievementCategory("THE_CAVALRY", achievementCategory); Main.Achievements.RegisterAchievementCategory("DYE_HARD", achievementCategory); Main.Achievements.RegisterAchievementCategory("MATCHING_ATTIRE", achievementCategory); Main.Achievements.RegisterAchievementCategory("FASHION_STATEMENT", achievementCategory); Main.Achievements.RegisterAchievementCategory("COMPLETELY_AWESOME", achievementCategory); Main.Achievements.RegisterAchievementCategory("TIMBER", achievementCategory); Main.Achievements.RegisterAchievementCategory("SICK_THROW", achievementCategory); Main.Achievements.RegisterAchievementCategory("GLORIOUS_GOLDEN_POLE", achievementCategory); Main.Achievements.RegisterAchievementCategory("TEMPLE_RAIDER", achievementCategory); Main.Achievements.RegisterAchievementCategory("LIKE_A_BOSS", achievementCategory); Main.Achievements.Load(); Main.Achievements.OnAchievementCompleted += new Achievement.AchievementCompleted(AchievementInitializer.OnAchievementCompleted); AchievementsHelper.Initialize(); }
void DisplayDefinitions() { EditorStyles.textField.wordWrap = true; // split window in 2 GUILayout.BeginHorizontal(); GUILayout.BeginVertical(GUILayout.MaxWidth(leftPanelWidth)); GUILayout.Space(5); // show all items in a listbox definitionScroll = EditorGUILayout.BeginScrollView(definitionScroll, (GUIStyle)"box"); foreach (Category category in categories.Values) { EditorGUILayout.BeginHorizontal(); Rect foldoutRect = GUILayoutUtility.GetRect(new GUIContent(category.category.name), EditorStyles.foldout); Rect buttonRect = new Rect(foldoutRect.xMin + 15, foldoutRect.yMin, foldoutRect.width - 15, foldoutRect.height); foldoutRect.width = 15; category.foldout = EditorGUI.Foldout(foldoutRect, category.foldout, category.category.name); GUI.depth--; if (GUI.Button(buttonRect, "", (GUIStyle)"label")) { selectedCategory = category; selectedDefinition = null; GUI.FocusControl(""); } GUI.depth++; EditorGUILayout.EndHorizontal(); if (category.foldout) { foreach (AchievementDefinitionInfo definitionInfo in category.achievements) { // show selectable name if (definitionInfo != selectedDefinition) { if (GUILayout.Button(definitionInfo.definition.name, (GUIStyle)"label")) { selectedDefinition = definitionInfo; EditorGUIUtility.keyboardControl = 0; } } else { GUILayout.Label(definitionInfo.definition.name, (GUIStyle)"boldLabel"); } } } } EditorGUILayout.EndScrollView(); // add - remove buttons EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("+")) { // add new definition AchievementDefinition newDef = new AchievementDefinition(); newDef.name = "NewAchievement"; achievementDefinitions.definitions.Add(newDef); AchievementDefinitionInfo info = new AchievementDefinitionInfo(newDef); definitions.Add(info); categories[0].achievements.Add(info); EditorUtility.SetDirty(achievementDefinitions); selectedDefinition = info; } if (GUILayout.Button("-")) { // remove selected definition achievementDefinitions.definitions.Remove(selectedDefinition.definition); EditorUtility.SetDirty(achievementDefinitions); definitions.Remove(selectedDefinition); selectedDefinition = null; } EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Add Category")) { // add category AchievementCategory cat = new AchievementCategory(); cat.name = "NewCategory"; cat.id = achievementDefinitions.maxCatId++; achievementDefinitions.categories.Add(cat); EditorUtility.SetDirty(achievementDefinitions); Category category = new Category(); category.category = cat; categories.Add(category.category.id, category); BuildCategoryPopup(); selectedCategory = category; selectedDefinition = null; } GUILayout.Space(5); GUILayout.EndVertical(); // add splitter leftPanelWidth = Splitter(leftPanelWidth); GUILayout.BeginVertical(); if (selectedDefinition != null) { // show definition info selectedDefinition.definition.name = EditorGUILayout.TextField("Name", selectedDefinition.definition.name); selectedDefinition.definition.title = EditorGUILayout.TextField("Title", selectedDefinition.definition.title); EditorGUI.BeginChangeCheck(); Category oldCat = categories[selectedDefinition.definition.categoryId]; selectedDefinition.definition.categoryId = EditorGUILayout.Popup(getPopupIndexFromCategory(categories[selectedDefinition.definition.categoryId]), categoryPopup.ToArray()); if (EditorGUI.EndChangeCheck()) { // show in correct category oldCat.achievements.Remove(selectedDefinition); categories[selectedDefinition.definition.categoryId].achievements.Add(selectedDefinition); } EditorGUILayout.LabelField("Description"); selectedDefinition.definition.description = EditorGUILayout.TextArea(selectedDefinition.definition.description, GUILayout.Height(EditorStyles.textField.lineHeight * 3)); EditorGUILayout.LabelField("Incomplete Description"); selectedDefinition.definition.incompleteDescription = EditorGUILayout.TextArea(selectedDefinition.definition.incompleteDescription, GUILayout.Height(EditorStyles.textField.lineHeight * 3)); selectedDefinition.definition.hidden = EditorGUILayout.Toggle("Hidden", selectedDefinition.definition.hidden); selectedDefinition.definition.type = (AchievementDefinition.Type)EditorGUILayout.EnumPopup("Type", selectedDefinition.definition.type); { // show conditions depending on type switch (selectedDefinition.definition.type) { case AchievementDefinition.Type.Bool: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(new GUIContent("ConditionValue", "If checked, the variable needs to be true for the achievement to complete")); // true false checkbox selectedDefinition.definition.conditionBoolValue = EditorGUILayout.Toggle(selectedDefinition.definition.conditionBoolValue); EditorGUILayout.EndHorizontal(); break; case AchievementDefinition.Type.Float: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(new GUIContent("ConditionValue", "The variable needs to be higher then the value given for the achievement to complete")); selectedDefinition.definition.conditionFloatValue = EditorGUILayout.FloatField(selectedDefinition.definition.conditionFloatValue); EditorGUILayout.EndHorizontal(); selectedDefinition.definition.progressChangeSize = EditorGUILayout.FloatField(new GUIContent("Progress Change", "Will report progress when variable is divisable by the given value"), selectedDefinition.definition.progressChangeSize); break; case AchievementDefinition.Type.Int: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(new GUIContent("ConditionValue", "The variable needs to be higher then the value given for the achievement to complete")); selectedDefinition.definition.conditionIntValue = EditorGUILayout.IntField(selectedDefinition.definition.conditionIntValue); EditorGUILayout.EndHorizontal(); selectedDefinition.definition.progressChangeSize = EditorGUILayout.FloatField(new GUIContent("Progress Change", "Will report progress when variable is divisable by the given value"), selectedDefinition.definition.progressChangeSize); break; } } } else if (selectedCategory != null) { EditorGUI.BeginChangeCheck(); selectedCategory.category.name = EditorGUILayout.TextField("Category Name", selectedCategory.category.name); if (EditorGUI.EndChangeCheck()) { BuildCategoryPopup(); } if (selectedCategory.category.id == 0) { GUI.enabled = false; } if (GUILayout.Button("Remove")) { // remove category foreach (var achievement in selectedCategory.achievements) { achievement.definition.categoryId = 0; categories[0].achievements.Add(achievement); } categories.Remove(selectedCategory.category.id); selectedCategory = null; EditorUtility.SetDirty(achievementDefinitions); } if (selectedCategory == null || selectedCategory.category.id == 0) { GUI.enabled = true; } } GUILayout.EndVertical(); GUILayout.EndHorizontal(); if (GUI.changed) { EditorUtility.SetDirty(achievementDefinitions); } // HACK to unfocus controls GUI.SetNextControlName(""); }
public void RegisterAchievementCategory(string achievementName, AchievementCategory category) { this._achievements[achievementName].SetCategory(category); }
public static ObservableCollection<AchievementCategory> LoadAchievementCategory() { ObservableCollection<AchievementCategory> list = new ObservableCollection<AchievementCategory>(); using (FileStream stream = File.Open(DATA_PATH + "DBC/Achievement_Category.dbc", FileMode.Open)) { BinaryReader r = new BinaryReader(stream); DBCHeader header = DBC.ReadDBCHeader(r); int dataSize = 20 + header.RowSize * header.Records; for (int i = 0; i != header.Records; ++i) { AchievementCategory category = new AchievementCategory(); category.ID = r.ReadInt32(); category.ParentID = r.ReadInt32(); stream.Position += 16; category.Name = DBC.ReadString(r, dataSize); stream.Position += 44; category.NameFlag = r.ReadInt32(); category.UIOrder = r.ReadInt32(); list.Add(category); } r.Close(); } return list; }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); int num1 = this._large.ToInt() * 6; Vector2 vector2_1 = new Vector2((float)num1, 0.0f); this._locked = !this._achievement.IsCompleted; this.UpdateIconFrame(); CalculatedStyle innerDimensions = this.GetInnerDimensions(); CalculatedStyle dimensions = this._achievementIconBorders.GetDimensions(); Vector2 vector2_2 = new Vector2(dimensions.X + dimensions.Width + 7f, innerDimensions.Y); Tuple <Decimal, Decimal> trackerValues = this.GetTrackerValues(); bool flag = false; if ((!(trackerValues.Item1 == Decimal.Zero) || !(trackerValues.Item2 == Decimal.Zero)) && this._locked) { flag = true; } float num2 = (float)((double)innerDimensions.Width - (double)dimensions.Width + 1.0) - (float)(num1 * 2); Vector2 baseScale1 = new Vector2(0.85f); Vector2 baseScale2 = new Vector2(0.92f); string wrappedText = Main.fontItemStack.CreateWrappedText(this._achievement.Description.Value, (float)(((double)num2 - 20.0) * (1.0 / (double)baseScale2.X)), Language.ActiveCulture.CultureInfo); Vector2 stringSize1 = ChatManager.GetStringSize(Main.fontItemStack, wrappedText, baseScale2, num2); if (!this._large) { stringSize1 = ChatManager.GetStringSize(Main.fontItemStack, this._achievement.Description.Value, baseScale2, num2); } float num3 = (float)(38.0 + (this._large ? 20.0 : 0.0)); if ((double)stringSize1.Y > (double)num3) { baseScale2.Y *= num3 / stringSize1.Y; } Color baseColor1 = Color.Lerp(this._locked ? Color.Silver : Color.Gold, Color.White, this.IsMouseHovering ? 0.5f : 0.0f); Color baseColor2 = Color.Lerp(this._locked ? Color.DarkGray : Color.Silver, Color.White, this.IsMouseHovering ? 1f : 0.0f); Color color1 = this.IsMouseHovering ? Color.White : Color.Gray; Vector2 vector2_3 = Vector2.UnitY * 2f; Vector2 position1 = vector2_2 - vector2_3 + vector2_1; this.DrawPanelTop(spriteBatch, position1, num2, color1); AchievementCategory category = this._achievement.Category; position1.Y += 2f; position1.X += 4f; spriteBatch.Draw(this._categoryTexture, position1, new Rectangle?(this._categoryTexture.Frame(4, 2, (int)category, 0)), this.IsMouseHovering ? Color.White : Color.Silver, 0.0f, Vector2.Zero, 0.5f, SpriteEffects.None, 0.0f); position1.X += 4f; position1.X += 17f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, this._achievement.FriendlyName.Value, position1, baseColor1, 0.0f, Vector2.Zero, baseScale1, num2, 2f); position1.X -= 17f; Vector2 vector2_4 = Vector2.UnitY * 27f; Vector2 position2 = vector2_2 + vector2_4 + vector2_1; this.DrawPanelBottom(spriteBatch, position2, num2, color1); position2.X += 8f; position2.Y += 4f; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, wrappedText, position2, baseColor2, 0.0f, Vector2.Zero, baseScale2, -1f, 2f); if (!flag) { return; } Vector2 position3 = position1 + Vector2.UnitX * num2 + Vector2.UnitY; string text = (int)trackerValues.Item1.ToString() + "/" + (int)trackerValues.Item2.ToString(); Vector2 baseScale3 = new Vector2(0.75f); Vector2 stringSize2 = ChatManager.GetStringSize(Main.fontItemStack, text, baseScale3, -1f); float progress = (float)(trackerValues.Item1 / trackerValues.Item2); float Width = 80f; Color color2 = new Color(100, (int)byte.MaxValue, 100); if (!this.IsMouseHovering) { color2 = Color.Lerp(color2, Color.Black, 0.25f); } Color BackColor = new Color((int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue); if (!this.IsMouseHovering) { BackColor = Color.Lerp(BackColor, Color.Black, 0.25f); } this.DrawProgressBar(spriteBatch, progress, position3 - Vector2.UnitX * Width * 0.7f, Width, BackColor, color2, color2.MultiplyRGBA(new Color(new Vector4(1f, 1f, 1f, 0.5f)))); position3.X -= Width * 1.4f + stringSize2.X; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, text, position3, baseColor1, 0.0f, new Vector2(0.0f, 0.0f), baseScale3, 90f, 2f); }
public void AddToAchievementCategories(AchievementCategory achievementCategory) { base.AddObject("AchievementCategories", achievementCategory); }
private void GenerateAchievement(Mod mod, string name, string description, Texture2D lockedtex, Texture2D unlockedtex, AchievementCategory category) { ModAchievement ach = new ModAchievement(); ach.mod = mod; ach.Name = name; ach.Description = description; ach.LockedTexture = lockedtex; ach.UnlockedTexture = unlockedtex; ach.Category = category; Achievement cheev = ach.GetAchievement(); FieldInfo cat = typeof(Achievement).GetField("_category", BindingFlags.NonPublic | BindingFlags.Instance); cat.SetValue(cheev, ach.Category); Achievements.Add(ach); }
public AchievementCategory Update(AchievementCategory achievementCategory) { return _entityUpdateService.Update(achievementCategory); }
public AchievementCategoryTreeNode FindAchievementCategoryNode(TreeNodeCollection nodes, AchievementCategory category) { foreach (AchievementCategoryTreeNode node in nodes) { if (node.AchievementCategory.Equals(category)) { return(node); } if (node.Nodes.Count > 0) { var found = FindAchievementCategoryNode(node.Nodes, category); if (found != null) { return(found); } } } return(null); }