void fillAwards(UserSearchDTO user) { var green = Achievements.GetGreenStar(user); var red = Achievements.GetRedStar(user); var blue = Achievements.GetBlueStar(user); var awards = new ObservableCollection <AwardViewModel>(); awards.Add(new AwardViewModel(AchievementsHelper.GetWPFIconForRedStar(red), AchievementsHelper.GetStarToolTip(AchievementsHelper.CategorySportName, red))); awards.Add(new AwardViewModel(AchievementsHelper.GetWPFIconForBlueStar(blue), AchievementsHelper.GetStarToolTip(AchievementsHelper.CategoryFamousName, blue))); awards.Add(new AwardViewModel(AchievementsHelper.GetWPFIconForGreenStar(green), AchievementsHelper.GetStarToolTip(AchievementsHelper.CategorySocialName, green))); lstAwards.ItemsSource = awards; grAwards.SetVisible(red != AchievementStar.None || blue != AchievementStar.None || green != AchievementStar.None); //var blueStar = AchievementsHelper.GetIconForBlueStar(blue); //var greenStar = AchievementsHelper.GetIconForGreenStar(green); //if (redStar != null || blueStar != null || greenStar != null) //{ // picRedStar.Image = redStar; // picBlueStar.Image = blueStar; // picBlueStar.Visible = blueStar != null; // picRedStar.Visible = redStar != null; // picGreenStar.Image = greenStar; // picGreenStar.Visible = greenStar != null; // ControlHelper.AddSuperTip(toolTipController1, picGreenStar, null, AchievementsHelper.GetStarToolTip(string.Format("<b>{0}</b>", AchievementsHelper.CategorySocialName), green)); // ControlHelper.AddSuperTip(toolTipController1, picBlueStar, null, AchievementsHelper.GetStarToolTip(string.Format("<b>{0}</b>", AchievementsHelper.CategoryFamousName), blue)); // ControlHelper.AddSuperTip(toolTipController1, picRedStar, null, AchievementsHelper.GetStarToolTip(string.Format("<b>{0}</b>", AchievementsHelper.CategorySportName), red)); // grAwards.Visible = true; //} //else //{ // grAwards.Visible = false; //} //grAwards.SetVisible(Awards.Count > 0); }
private void bSolarEclipse_onLeftClick(object sender, EventArgs e) { Main.dayTime = true; Main.time = 32400.1; if (Main.netMode != 1) { AchievementsHelper.NotifyProgressionEvent(1); Main.eclipse = true; AchievementsHelper.NotifyProgressionEvent(2); if (Main.eclipse) { if (Main.netMode == 0) { Main.NewText(Lang.misc[20].Value, (byte)50, byte.MaxValue, (byte)130, false); } else if (Main.netMode == 2) { NetMessage.BroadcastChatMessage(Lang.misc[20].ToNetworkText(), new Color(50, 255, 130), -1); } } if (Main.netMode == 2) { NetMessage.SendData(7, -1, -1, null, 0, 0.0f, 0.0f, 0.0f, 0, 0, 0); } } }
public static void NotifyItemPickup(Player player, Item item, int customStack) { if (AchievementsHelper.OnItemPickup != null) { AchievementsHelper.OnItemPickup(player, (short)item.netID, customStack); } }
public static bool CompleteConstructionVehicle(Pawn worker, Frame __instance) { if (__instance.def.entityDefToBuild is VehicleBuildDef def && def.thingToSpawn != null) { VehiclePawn vehicle = VehicleSpawner.GenerateVehicle(def.thingToSpawn, worker.Faction); __instance.resourceContainer.ClearAndDestroyContents(DestroyMode.Vanish); Map map = __instance.Map; __instance.Destroy(DestroyMode.Vanish); if (def.soundBuilt != null) { def.soundBuilt.PlayOneShot(new TargetInfo(__instance.Position, map, false)); } vehicle.SetFaction(worker.Faction); GenSpawn.Spawn(vehicle, __instance.Position, map, __instance.Rotation, WipeMode.FullRefund, false); worker.records.Increment(RecordDefOf.ThingsConstructed); vehicle.Rename(); //Quality? //Art? //Tale RecordTale LongConstructionProject? AchievementsHelper.TriggerVehicleConstructionEvent(vehicle); return(false); } return(true); }
void fillAwards(UserSearchDTO user) { var green = Achievements.GetGreenStar(user); var red = Achievements.GetRedStar(user); var blue = Achievements.GetBlueStar(user); var redStar = AchievementsHelper.GetIconForRedStar(red); var blueStar = AchievementsHelper.GetIconForBlueStar(blue); var greenStar = AchievementsHelper.GetIconForGreenStar(green); if (redStar != null || blueStar != null || greenStar != null) { picRedStar.Image = redStar; picBlueStar.Image = blueStar; picBlueStar.Visible = blueStar != null; picRedStar.Visible = redStar != null; picGreenStar.Image = greenStar; picGreenStar.Visible = greenStar != null; ControlHelper.AddSuperTip(toolTipController1, picGreenStar, null, AchievementsHelper.GetStarToolTip(string.Format("<b>{0}</b>", AchievementsHelper.CategorySocialName), green)); ControlHelper.AddSuperTip(toolTipController1, picBlueStar, null, AchievementsHelper.GetStarToolTip(string.Format("<b>{0}</b>", AchievementsHelper.CategoryFamousName), blue)); ControlHelper.AddSuperTip(toolTipController1, picRedStar, null, AchievementsHelper.GetStarToolTip(string.Format("<b>{0}</b>", AchievementsHelper.CategorySportName), red)); grAwards.Visible = true; } else { grAwards.Visible = false; } }
public override bool UseItem(Player player) { if (Main.moonPhase == 4) { if (Main.netMode == NetmodeID.Server) { NetMessage.BroadcastChatMessage(NetworkText.FromKey("The moon phase advanced in order to start the blood moon."), new Color(255, 255, 0)); } else if (Main.netMode == NetmodeID.SinglePlayer) // Single Player { Main.NewText("The moon phase advanced in order to start the blood moon.", 255, 255, 0); } Main.moonPhase++; } Main.bloodMoon = true; AchievementsHelper.NotifyProgressionEvent(4); if (Main.netMode == NetmodeID.SinglePlayer) { Main.NewText(Lang.misc[8].Value, 50, byte.MaxValue, 130); } else if (Main.netMode == NetmodeID.Server) { NetMessage.BroadcastChatMessage(Lang.misc[8].ToNetworkText(), new Color(50, 255, 130)); } if (Main.netMode == NetmodeID.Server) { NetMessage.SendData(7); } return(true); }
public static void NotifyItemCraft(Recipe recipe) { if (AchievementsHelper.OnItemCraft != null) { AchievementsHelper.OnItemCraft((short)recipe.createItem.netID, recipe.createItem.stack); } }
public static void Heal() { int num27 = CalculatePriceForHeal(); int health = Main.player[Main.myPlayer].statLifeMax2 - Main.player[Main.myPlayer].statLife; if (health == 0) { return; } if (Main.player[Main.myPlayer].BuyItem(num27, -1)) { AchievementsHelper.HandleNurseService(num27); Main.PlaySound(SoundID.Item4, -1, -1); Main.player[Main.myPlayer].HealEffect(health, true); Main.player[Main.myPlayer].statLife += health; if (true) { for (int i = 0; i < Player.MaxBuffs; i++) { int num9 = Main.player[Main.myPlayer].buffType[i]; if (Main.debuff[num9] && Main.player[Main.myPlayer].buffTime[i] > 0 && BuffLoader.CanBeCleared(num9)) { Main.player[Main.myPlayer].DelBuff(i); i = -1; } } } PlayerHooks.PostNurseHeal(Main.player[Main.myPlayer], Main.npc[Main.player[Main.myPlayer].talkNPC], health, true, num27); } }
void Awake() { if(instance != null) { Destroy(gameObject); return; } instance = this; transform.parent = null; DontDestroyOnLoad(gameObject); #if ACHIEVEMENTS_IMPLEMENTED #if UNITY_IOS GameCenterManager.reportAchievementFinishedEvent += OnReportSuccess; GameCenterManager.reportAchievementFailedEvent += OnReportFailed; GameCenterManager.playerAuthenticatedEvent += PlayerAuthenticated; #elif UNITY_ANDROID GPGManager.authenticationSucceededEvent += PlayerAuthenticated; GPGManager.authenticationFailedEvent += PlayerAuthenticatedFailed; GPGManager.incrementAchievementSucceededEvent += OnReportSuccess; GPGManager.incrementAchievementFailedEvent += OnReportFailed; #endif #endif }
public static void NotifyTileDestroyed(Player player, ushort tile) { if (!Main.gameMenu && _isMining && AchievementsHelper.OnTileDestroyed != null) { AchievementsHelper.OnTileDestroyed(player, tile); } }
public static void NotifyNPCKilledDirect(Player player, int npcNetID) { if (AchievementsHelper.OnNPCKilled != null) { AchievementsHelper.OnNPCKilled(player, (short)npcNetID); } }
public override void Click(UIMouseEvent evt) { base.Click(evt); if (CanInteract?.Invoke(Item, Main.mouseItem) ?? true) { Item.newAndShiny = false; Player player = Main.LocalPlayer; if (ItemSlot.ShiftInUse) { Main.NewText("move to inventory"); return; } Item temp = Item; Utils.Swap(ref temp, ref Main.mouseItem); Item = temp; if (Item.stack > 0) { AchievementsHelper.NotifyItemPickup(player, Item); } if (Item.type == 0 || Item.stack < 1) { Item = new Item(); } if (Main.mouseItem.IsTheSameAs(Item)) { Utils.Swap(ref Item.favorited, ref Main.mouseItem.favorited); if (Item.stack != Item.maxStack && Main.mouseItem.stack != Main.mouseItem.maxStack) { if (Main.mouseItem.stack + Item.stack <= Main.mouseItem.maxStack) { Item.stack += Main.mouseItem.stack; Main.mouseItem.stack = 0; } else { int delta = Main.mouseItem.maxStack - Item.stack; Item.stack += delta; Main.mouseItem.stack -= delta; } } } if (Main.mouseItem.type == 0 || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > 0 || Item.type > 0) { Terraria.Recipe.FindRecipes(); Main.PlaySound(7); } OnInteract?.Invoke(); } SendUpdate(); }
public override bool UnlockChest(int i, int j, ref short frameXAdjustment, ref int dustType, ref bool manual) { if (!NPC.downedPlantBoss) { return(false); } AchievementsHelper.NotifyProgressionEvent(20); return(true); }
public static void SwapEquip(ref Item item) { item = ArmorSwap(item, out bool flag); if (flag) { Main.EquipPageSelected = 0; AchievementsHelper.HandleOnEquip(Main.player[Main.myPlayer], item, item.accessory ? 10 : 8); } Recipe.FindRecipes(); }
public static void NotifyProgressionEvent(int eventID) { if (Main.netMode == 2) { NetMessage.SendData(98, -1, -1, "", eventID); } else if (AchievementsHelper.OnProgressionEvent != null) { AchievementsHelper.OnProgressionEvent(eventID); } }
public override bool OnPickup(Item item, Player player) { switch (item.type) { case ItemID.CopperCoin: case ItemID.SilverCoin: case ItemID.GoldCoin: case ItemID.PlatinumCoin: return(true); } var myplayer = TmlHelpers.SafelyGetModPlayer <ExtensibleInventoryPlayer>(player); int oldStack = item.stack; if (myplayer.Library.CurrentBook.Share(player, item) > 0) { if (item.stack == 0) { item.stack = oldStack; item.active = true; if (player.whoAmI == Main.myPlayer) { Recipe.FindRecipes(); } ItemText.NewText(item, oldStack, false, false); Main.PlaySound(7, (int)player.position.X, (int)player.position.Y, 1, 1f, 0f); AchievementsHelper.NotifyItemPickup(player, item); item.stack = 0; item.active = false; } } if (item.stack != oldStack) { Item worldItem = Main.item[item.whoAmI]; if (worldItem != null && !worldItem.IsAir && !worldItem.IsNotTheSameAs(item)) { if (Main.netMode != 0) { NetMessage.SendData(MessageID.SyncItem, -1, -1, null, item.whoAmI, 0f, 0f, 0f, 0, 0, 0); } } } return(true); //return item.stack > 0; }
private void TriggerBloodMoon() { Main.bloodMoon = true; AchievementsHelper.NotifyProgressionEvent(4); if (Main.netMode == 0) { Main.NewText(Lang.misc[8], 50, 255, 130, false); } else if (Main.netMode == 2) { NetMessage.SendData(25, -1, -1, Lang.misc[8], 255, 50f, 255f, 130f, 0, 0, 0); } }
private void TriggerBloodMoon() { Main.bloodMoon = true; AchievementsHelper.NotifyProgressionEvent(4); if (Main.netMode == 0) { Main.NewText(Lang.misc[8].Value, 50, 255, 130, false); } else if (Main.netMode == 2) { NetMessage.BroadcastChatMessage(Lang.misc[8].ToNetworkText(), new Color(50, 255, 130), -1); } }
private void TriggerEclipse() { Main.eclipse = true; AchievementsHelper.NotifyProgressionEvent(2); if (Main.netMode == 0) { Main.NewText(Lang.misc[20], 50, 255, 130, false); } else if (Main.netMode == 2) { NetMessage.SendData(25, -1, -1, Lang.misc[20], 255, 50f, 255f, 130f, 0, 0, 0); NetMessage.SendData(7, -1, -1, "", 0, 0f, 0f, 0f, 0, 0, 0); } }
// Adapted from the vanilla Player class method public void PickTile(Player player, int x, int y) { int tileId = player.hitTile.HitObject(x, y, 1); Tile tile = Main.tile[x, y]; int actualPower = ShovelMethods.DigPower(tile.type, Shovel); if (actualPower < 100 && Pick >= Shovel) { player.PickTile(x, y, Pick); return; } else if (actualPower == 0) { player.PickTile(x, y, Math.Max(Shovel / 8, 1)); return; } if (!WorldGen.CanKillTile(x, y)) { actualPower = 0; } if (player.hitTile.AddDamage(tileId, actualPower, true) >= 100) { AchievementsHelper.CurrentlyMining = true; player.hitTile.Clear(tileId); bool wasActive = tile.active(); WorldGen.KillTile(x, y, false, false, false); if (wasActive && !tile.active()) { AchievementsHelper.HandleMining(); } AchievementsHelper.CurrentlyMining = false; } else { WorldGen.KillTile(x, y, true, false, false); } if (Main.netMode == NetmodeID.MultiplayerClient) { NetMessage.SendData(MessageID.TileChange, -1, -1, null, 0, x, y); } if (actualPower != 0) { player.hitTile.Prune(); } }
internal static void Create(Recipe r) { if (r.P_GroupDef as RecipeDef == null) { r.CreateBasic(); } else { r.CreateUnion(); } AchievementsHelper.NotifyItemCraft(r); AchievementsHelper.NotifyItemPickup(Main.player[Main.myPlayer], r.createItem); Recipe.FindRecipes(); }
public override bool UseItem(Player player) { if (player.itemAnimation > 0 && player.statManaMax >= 200 && player.statManaMax < 300 && player.itemTime == 0) { player.itemTime = PlayerHooks.TotalUseTime(item.useTime, player, item); player.statManaMax2 += 10; player.GetModPlayer <TemperatePlayer>().ArcaneCrystals += 1; player.statMana += 10; if (Main.myPlayer == player.whoAmI) { player.ManaEffect(10); } AchievementsHelper.HandleSpecialEvent(player, AchievementHelperID.Special.ConsumeStar); } return(false); }
private static void ToggleOpenSpecialChest(int tX, int tY, Player player, int specialChestType) { Main.stackSplit = 600; // Clicked and current chest is already open if (specialChestType == player.chest) { player.chest = -1; Main.PlaySound(SoundID.MenuClose); } // Clicked and another chest is open else if (specialChestType != player.chest && player.chest == -1) { player.chest = specialChestType; Main.playerInventory = true; if (PlayerInput.GrappleAndInteractAreShared) { PlayerInput.Triggers.JustPressed.Grapple = false; } Main.recBigList = false; Main.PlaySound(SoundID.MenuOpen); player.chestX = tX; player.chestY = tY; if (Main.tile[tX, tY].frameX >= 36 && Main.tile[tX, tY].frameX < 72) { AchievementsHelper.HandleSpecialEvent(player, 16); } } // Switching between chests else { player.chest = specialChestType; Main.playerInventory = true; if (PlayerInput.GrappleAndInteractAreShared) { PlayerInput.Triggers.JustPressed.Grapple = false; } Main.recBigList = false; Main.PlaySound(SoundID.MenuTick); player.chestX = tX; player.chestY = tY; } Recipe.FindRecipes(); }
private void bBloodmoon_onLeftClick(object sender, EventArgs e) { Main.dayTime = false; Main.time = 0.0; if (Main.moonPhase == 0) { Main.moonPhase++; } WorldGen.spawnEye = false; Main.bloodMoon = true; AchievementsHelper.NotifyProgressionEvent(4); if (Main.netMode == 0) { Main.NewText(Lang.misc[8].Value, 50, 255, 130, false); } else if (Main.netMode == 2) { NetMessage.BroadcastChatMessage(Lang.misc[8].ToNetworkText(), new Microsoft.Xna.Framework.Color(50, 255, 130), -1); } }
/* * public override void ScrollWheel(UIScrollWheelEvent evt) * { * if (!Main.keyState.IsKeyDown(Keys.LeftAlt)) return; * * if (evt.ScrollWheelValue > 0) * { * if (Main.mouseItem.type == Item.type && Main.mouseItem.stack < Main.mouseItem.maxStack) * { * Main.mouseItem.stack++; * if (--Item.stack <= 0) Item.TurnToAir(); * } * else if (Main.mouseItem.IsAir) * { * Main.mouseItem = Item.Clone(); * Main.mouseItem.stack = 1; * if (--Item.stack <= 0) Item.TurnToAir(); * } * } * else if (evt.ScrollWheelValue < 0) * { * if (Item.type == Main.mouseItem.type && Item.stack < Item.maxStack) * { * Item.stack++; * if (--Main.mouseItem.stack <= 0) Main.mouseItem.TurnToAir(); * } * else if (Item.IsAir) * { * Item = Main.mouseItem.Clone(); * Item.stack = 1; * if (--Main.mouseItem.stack <= 0) Main.mouseItem.TurnToAir(); * } * } * } */ public override void Click(UIMouseEvent evt) { Item.newAndShiny = false; Player player = Main.LocalPlayer; if (ItemSlot.ShiftInUse) { Item = Utility.PutItemInInventory(Item); OnInteract?.Invoke(); base.Click(evt); return; } if (Main.mouseItem.IsAir) { Main.mouseItem = Network.ExtractItem(Item); } else { Network.InsertItem(ref Main.mouseItem); Main.PlaySound(SoundID.Grab); } if (Item.stack > 0) { AchievementsHelper.NotifyItemPickup(player, Item); } if (Main.mouseItem.type > 0 || Item.type > 0) { Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab); } OnInteract?.Invoke(); base.Click(evt); }
public override bool UseItem(Item item, Player player) { if (item.type == mod.ItemType("BlazingHeart") && player.itemAnimation > 0 && player.statLifeMax >= 300 && player.statLifeMax < 400 && player.itemTime == 0) { player.itemTime = (int)((float)item.useTime / PlayerHooks.TotalUseTimeMultiplier(player, item)); player.statLifeMax += 10; player.statLifeMax2 += 10; player.statLife += 10; if (Main.myPlayer == player.whoAmI) { player.HealEffect(10, true); } AchievementsHelper.HandleSpecialEvent(player, 2); } if (item.type == mod.ItemType("DazzlingHeart") && player.itemAnimation > 0 && player.statLifeMax >= 400 && player.statLifeMax < 450 && player.itemTime == 0) { player.itemTime = (int)((float)item.useTime / PlayerHooks.TotalUseTimeMultiplier(player, item)); player.statLifeMax += 5; player.statLifeMax2 += 5; player.statLife += 5; if (Main.myPlayer == player.whoAmI) { player.HealEffect(5, true); } AchievementsHelper.HandleSpecialEvent(player, 2); } if (item.type == 1291 && player.itemAnimation > 0 && player.statLifeMax >= 450 && player.statLifeMax < 500 && player.itemTime == 0) { player.itemTime = (int)((float)item.useTime / PlayerHooks.TotalUseTimeMultiplier(player, item)); player.statLifeMax += 5; player.statLifeMax2 += 5; player.statLife += 5; if (Main.myPlayer == player.whoAmI) { player.HealEffect(5, true); } AchievementsHelper.HandleSpecialEvent(player, 2); } return(base.UseItem(item, player)); }
private async void ProcessGetLeaderboardUI() { ShowProgressBar(true); try { var leaderBoardModel = await MyILPClient.GetLeaderboard(); tbMyName.Text = UserInformation.FullName; tbMyBatch.Text = UserInformation.LGName; tbMyLevel.Text = AchievementsHelper.GetAchievementString(leaderBoardModel.MyPoints); gridMain.DataContext = leaderBoardModel; } catch (HttpRequestException exception) { tbMyBatch.Text = string.Empty; tbMyLevel.Text = "No internet connection"; (new MessageDialog(exception.Message, "Error")).ShowAsync().GetResults(); } finally { ShowProgressBar(false); } }
private bool TryPlaceItem(ref Item item, ref Item target, bool isCoin, bool incrementStack) { bool dispose = false; if (target.type == 0 && !incrementStack) { target = item; ItemText.NewText(item, item.stack); AchievementsHelper.NotifyItemPickup(Player, item); dispose = true; } else if (incrementStack && target.type > 0 && target.stack < target.maxStack && item.IsTheSameAs(target)) { if (item.stack + target.stack <= target.maxStack) { target.stack += item.stack; ItemText.NewText(item, item.stack); AchievementsHelper.NotifyItemPickup(Player, item); dispose = true; } else { AchievementsHelper.NotifyItemPickup(Player, item, target.maxStack - target.stack); item.stack -= target.maxStack - target.stack; ItemText.NewText(item, target.maxStack - target.stack); target.stack = target.maxStack; } } Main.PlaySound(isCoin ? SoundID.CoinPickup : SoundID.Grab, (int)Player.position.X, (int)Player.position.Y, 1, 1f, 0f); if (Player.whoAmI == Main.myPlayer) { API.FindRecipes(); } return(dispose); }
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 override void OnLeftClick() { if (Main.mouseItem.stack == 1 && Main.mouseItem.dye > 0 && Item.type > 0 && Item.type != Main.mouseItem.type) { Utils.Swap <Item>(ref item, ref Main.mouseItem); Main.PlaySound(7, -1, -1, 1, 1f, 0f); if (Item.stack > 0) { AchievementsHelper.HandleOnEquip(Main.LocalPlayer, Item, 12); } } else if (Main.mouseItem.type == 0 && Item.type > 0) { Utils.Swap <Item>(ref item, ref Main.mouseItem); if (Item.type == 0 || Item.stack < 1) { Item = new Item(); } if (Main.mouseItem.type == 0 || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > 0 || Item.type > 0) { Recipe.FindRecipes(); Main.PlaySound(7, -1, -1, 1, 1f, 0f); } } else if (Main.mouseItem.dye > 0 && Item.type == 0) { if (Main.mouseItem.stack == 1) { Utils.Swap <Item>(ref item, ref Main.mouseItem); if (Item.type == 0 || Item.stack < 1) { Item = new Item(); } if (Main.mouseItem.type == 0 || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > 0 || Item.type > 0) { Recipe.FindRecipes(); Main.PlaySound(7, -1, -1, 1, 1f, 0f); } } else { Main.mouseItem.stack--; Item.SetDefaults(Main.mouseItem.type, false); Recipe.FindRecipes(); Main.PlaySound(7, -1, -1, 1, 1f, 0f); } if (Item.stack > 0) { AchievementsHelper.HandleOnEquip(Main.LocalPlayer, Item, 12); } } Item.favorited = false; }
//TODO make IL //I method swapped because I could not get IL working private void On_LeftClick(On.Terraria.UI.ItemSlot.orig_LeftClick_ItemArray_int_int orig, Item[] inv, int context, int slot) { //Main.NewText(Main.cursorOverride); if (!(bool)overrideLeftClick.Invoke(null, new object[] { inv, context, slot })) { inv[slot].newAndShiny = false; Player player = Main.player[Main.myPlayer]; bool flag = false; if ((uint)context <= 4u) { flag = (player.chest == -1); } if (ControlInUse & flag) { sellOrTrash.Invoke(null, new object[] { inv, context, slot }); } else if (player.itemAnimation == 0 && player.itemTime == 0) { switch (ItemSlot.PickItemMovementAction(inv, context, slot, Main.mouseItem)) { case 0: if (context == 6 && Main.mouseItem.type != ItemID.None) { inv[slot].SetDefaults(0, false); } Utils.Swap <Item>(ref inv[slot], ref Main.mouseItem); if (inv[slot].stack > 0) { if (context != 0) { if ((uint)(context - 8) <= 4u || (uint)(context - 16) <= 1u) { AchievementsHelper.HandleOnEquip(player, inv[slot], context); } } else { AchievementsHelper.NotifyItemPickup(player, inv[slot]); } } if (inv[slot].type == ItemID.None || inv[slot].stack < 1) { inv[slot] = new Item(); } if (Main.mouseItem.IsTheSameAs(inv[slot])) { Utils.Swap <bool>(ref inv[slot].favorited, ref Main.mouseItem.favorited); if (inv[slot].stack != inv[slot].maxStack && Main.mouseItem.stack != Main.mouseItem.maxStack) { if (Main.mouseItem.stack + inv[slot].stack <= Main.mouseItem.maxStack) { inv[slot].stack += Main.mouseItem.stack; Main.mouseItem.stack = 0; } else { int num3 = Main.mouseItem.maxStack - inv[slot].stack; inv[slot].stack += num3; Main.mouseItem.stack -= num3; } } } if (Main.mouseItem.type == ItemID.None || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > ItemID.None || inv[slot].type > ItemID.None) { Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } if (context == 3 && Main.netMode == NetmodeID.MultiplayerClient) { NetMessage.SendData(MessageID.SyncChestItem, -1, -1, null, player.chest, slot, 0f, 0f, 0, 0, 0); } break; case 1: if (Main.mouseItem.stack == 1 && Main.mouseItem.type > ItemID.None && inv[slot].type > ItemID.None && inv[slot].IsNotTheSameAs(Main.mouseItem)) { Utils.Swap <Item>(ref inv[slot], ref Main.mouseItem); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); if (inv[slot].stack > 0) { if (context != 0) { if ((uint)(context - 8) <= 4u || (uint)(context - 16) <= 1u) { AchievementsHelper.HandleOnEquip(player, inv[slot], context); } } else { AchievementsHelper.NotifyItemPickup(player, inv[slot]); } } } else if (Main.mouseItem.type == ItemID.None && inv[slot].type > ItemID.None) { Utils.Swap <Item>(ref inv[slot], ref Main.mouseItem); if (inv[slot].type == ItemID.None || inv[slot].stack < 1) { inv[slot] = new Item(); } if (Main.mouseItem.type == ItemID.None || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type <= ItemID.None && inv[slot].type <= ItemID.None) { break; } Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } else if (Main.mouseItem.type > ItemID.None && inv[slot].type == ItemID.None) { if (Main.mouseItem.stack == 1) { Utils.Swap <Item>(ref inv[slot], ref Main.mouseItem); if (inv[slot].type == ItemID.None || inv[slot].stack < 1) { inv[slot] = new Item(); } if (Main.mouseItem.type == ItemID.None || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > ItemID.None || inv[slot].type > ItemID.None) { Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } } else { Main.mouseItem.stack--; inv[slot].SetDefaults(Main.mouseItem.type, false); Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } if (inv[slot].stack > 0) { if (context != 0) { if ((uint)(context - 8) <= 4u || (uint)(context - 16) <= 1u) { AchievementsHelper.HandleOnEquip(player, inv[slot], context); } } else { AchievementsHelper.NotifyItemPickup(player, inv[slot]); } } } break; case 2: if (Main.mouseItem.stack == 1 && Main.mouseItem.dye > 0 && inv[slot].type > ItemID.None && inv[slot].type != Main.mouseItem.type) { Utils.Swap <Item>(ref inv[slot], ref Main.mouseItem); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); if (inv[slot].stack > 0) { if (context != 0) { if ((uint)(context - 8) <= 4u || (uint)(context - 16) <= 1u) { AchievementsHelper.HandleOnEquip(player, inv[slot], context); } } else { AchievementsHelper.NotifyItemPickup(player, inv[slot]); } } } else if (Main.mouseItem.type == ItemID.None && inv[slot].type > ItemID.None) { Utils.Swap <Item>(ref inv[slot], ref Main.mouseItem); if (inv[slot].type == ItemID.None || inv[slot].stack < 1) { inv[slot] = new Item(); } if (Main.mouseItem.type == ItemID.None || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type <= ItemID.None && inv[slot].type <= ItemID.None) { break; } Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } else if (Main.mouseItem.dye > 0 && inv[slot].type == ItemID.None) { if (Main.mouseItem.stack == 1) { Utils.Swap <Item>(ref inv[slot], ref Main.mouseItem); if (inv[slot].type == ItemID.None || inv[slot].stack < 1) { inv[slot] = new Item(); } if (Main.mouseItem.type == ItemID.None || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > ItemID.None || inv[slot].type > ItemID.None) { Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } } else { Main.mouseItem.stack--; inv[slot].SetDefaults(Main.mouseItem.type, false); Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } if (inv[slot].stack > 0) { if (context != 0) { if ((uint)(context - 8) <= 4u || (uint)(context - 16) <= 1u) { AchievementsHelper.HandleOnEquip(player, inv[slot], context); } } else { AchievementsHelper.NotifyItemPickup(player, inv[slot]); } } } break; case 3: if (PlayerHooks.CanBuyItem(player, Main.npc[player.talkNPC], inv, inv[slot])) { Main.mouseItem = inv[slot].Clone(); Main.mouseItem.stack = 1; if (inv[slot].buyOnce) { Main.mouseItem.value *= 5; } else { Main.mouseItem.Prefix(-1); } Main.mouseItem.position = player.Center - new Vector2(Main.mouseItem.width, Main.mouseItem.headSlot) / 2f; ItemText.NewText(Main.mouseItem, Main.mouseItem.stack, false, false); if (inv[slot].buyOnce && --inv[slot].stack <= 0) { inv[slot].SetDefaults(0, false); } if (inv[slot].value > 0) { Main.PlaySound(SoundID.Coins, -1, -1, 1, 1f, 0f); } else { Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); } PlayerHooks.PostBuyItem(player, Main.npc[player.talkNPC], inv, Main.mouseItem); } break; case 4: if (PlayerHooks.CanSellItem(player, Main.npc[player.talkNPC], inv, Main.mouseItem)) { Chest chest = Main.instance.shop[Main.npcShop]; if (player.SellItem(Main.mouseItem.value, Main.mouseItem.stack)) { int num = chest.AddShop(Main.mouseItem); Main.mouseItem.SetDefaults(0, false); Main.PlaySound(SoundID.Coins, -1, -1, 1, 1f, 0f); PlayerHooks.PostSellItem(player, Main.npc[player.talkNPC], chest.item, chest.item[num]); } else if (Main.mouseItem.value == 0) { int num2 = chest.AddShop(Main.mouseItem); Main.mouseItem.SetDefaults(0, false); Main.PlaySound(SoundID.Grab, -1, -1, 1, 1f, 0f); PlayerHooks.PostSellItem(player, Main.npc[player.talkNPC], chest.item, chest.item[num2]); } Recipe.FindRecipes(); } break; } if ((uint)context > 2u && context != 5) { inv[slot].favorited = false; } } } }