protected void guideQuest() { Player player = Main.player[Main.myPlayer]; GuideQuestSystem guideQuestSystem = player.GetModPlayer <GuideQuestSystem>(mod); if (finishedGuideQuest) { } else if (guideQuestSystem.CurrentQuest == -1) { var NewQuest = guideQuestSystem.ChooseNewQuest(); Main.npcChatText = guideQuestSystem.Quests[NewQuest].ToString(); Main.npcChatCornerItem = guideQuestSystem.Quests[NewQuest].ItemType; guideQuestSystem.CurrentQuest = NewQuest; return; } else { if (guideQuestSystem.CheckQuest()) { guideQuestSystem.CompleteQuest(this); return; } else { Main.npcChatText = guideQuestSystem.GetCurrentQuest().ToString(); Main.npcChatCornerItem = guideQuestSystem.GetCurrentQuest().ItemType; return; } } }
public override void PostDraw(SpriteBatch spriteBatch, Color drawColor) { Texture2D texture = mod.GetTexture("Miscellaneous/QuestIcon2"); Texture2D texture2 = mod.GetTexture("Miscellaneous/QuestIcon3"); Player player = Main.LocalPlayer; GuideQuestSystem guideQuestSystem = player.GetModPlayer <GuideQuestSystem>(); if (guideQuestSystem.CurrentQuest == -1) { if (texture == null) { return; } Vector2 origin = new Vector2(texture.Width / 2, texture.Height / 2); float y = 50.0f; Vector2 position = npc.Center - Main.screenPosition - new Vector2(0.0f, y); spriteBatch.Draw(texture, position, null, Color.White, 0, origin, npc.scale, SpriteEffects.None, 0.0f); } foreach (Item item in player.inventory) { if (item.type == ModContent.ItemType <TheGuideforGuides>() && guideQuestSystem.CurrentQuest != -1) { if (texture == null) { return; } Vector2 origin = new Vector2(texture.Width / 2, texture.Height / 2); float y = 50.0f; Vector2 position = npc.Center - Main.screenPosition - new Vector2(0.0f, y); spriteBatch.Draw(texture2, position, null, Color.White, 0, origin, npc.scale, SpriteEffects.None, 0.0f); } } }
public override void SendClientChanges(ModPlayer clientPlayer) { GuideQuestSystem clone = clientPlayer as GuideQuestSystem; if (clone.CurrentQuest != CurrentQuest) { ModPacket packet = mod.GetPacket(); packet.Write((byte)5); packet.Write(player.whoAmI); packet.Write(CurrentQuest); packet.Send(); } }
public override void clientClone(ModPlayer clientClone) { GuideQuestSystem clone = clientClone as GuideQuestSystem; clone.CurrentQuest = CurrentQuest; }