예제 #1
0
        public override void NPCLoot(NPC npc)
        {
            if (npc.type == NPCID.Zombie || npc.type == NPCID.BaldZombie || npc.type == NPCID.SlimedZombie || npc.type == NPCID.SwampZombie || npc.type == NPCID.TwiggyZombie || npc.type == NPCID.ZombieRaincoat || npc.type == NPCID.PincushionZombie || npc.type == NPCID.ZombieEskimo)
            {
                if (!QuestWorld.zombieQuestStart && QuestManager.GetQuest <FirstAdventure>().IsCompleted)
                {
                    if (Main.rand.Next(40) == 0)
                    {
                        Item.NewItem((int)npc.position.X, (int)npc.position.Y, npc.width, npc.height, ItemType <OccultistMap>());
                    }
                }
            }

            if (npc.type == NPCID.EyeofCthulhu || npc.type == NPCID.EaterofWorldsHead || npc.type == NPCID.SkeletronHead || npc.type == NPCType <NPCs.Boss.Scarabeus.Scarabeus>() ||
                npc.type == NPCType <NPCs.Boss.AncientFlyer>() || npc.type == NPCType <NPCs.Boss.MoonWizard.MoonWizard>() || npc.type == NPCType <NPCs.Boss.SteamRaider.SteamRaiderHead>())
            {
                GetInstance <QuestWorld>().AddQuestQueue(NPCType <Adventurer>(), QuestManager.GetQuest <SlayerQuestOccultist>());
                GetInstance <QuestWorld>().AddQuestQueue(NPCType <Adventurer>(), QuestManager.GetQuest <UnidentifiedFloatingObjects>());
            }

            if (npc.type == NPCID.EaterofWorldsHead)
            {
                GetInstance <QuestWorld>().AddQuestQueue(NPCType <Adventurer>(), QuestManager.GetQuest <SlayerQuestMarble>());
            }

            if (npc.type == NPCID.SkeletronHead)
            {
                GetInstance <QuestWorld>().AddQuestQueue(NPCType <Adventurer>(), QuestManager.GetQuest <RaidingTheStars>());
                GetInstance <QuestWorld>().AddQuestQueue(NPCType <Adventurer>(), QuestManager.GetQuest <StrangeSeas>());
                GetInstance <QuestWorld>().AddQuestQueue(NPCType <RuneWizard>(), QuestManager.GetQuest <IceDeityQuest>());
            }
            OnNPCLoot?.Invoke(npc);
        }
예제 #2
0
        public override void NPCLoot(NPC npc)
        {
            if (npc.type == NPCID.EyeofCthulhu ||
                npc.type == NPCID.EaterofWorldsHead ||
                npc.type == NPCID.SkeletronHead ||
                npc.type == ModContent.NPCType <NPCs.Boss.Scarabeus.Scarabeus>() ||
                npc.type == ModContent.NPCType <NPCs.Boss.AncientFlyer>() ||
                npc.type == ModContent.NPCType <NPCs.Boss.MoonWizard.MoonWizard>() ||
                npc.type == ModContent.NPCType <NPCs.Boss.SteamRaider.SteamRaiderHead>())
            {
                QuestManager.UnlockQuest <SlayerQuestOccultist>(true);
                QuestManager.UnlockQuest <UnidentifiedFloatingObjects>(true);
            }

            if (npc.type == NPCID.EaterofWorldsHead)
            {
                QuestManager.UnlockQuest <SlayerQuestMarble>(true);
                QuestManager.UnlockQuest <SlayerQuestMeteor>(true);
            }

            if (npc.type == NPCID.SkeletronHead)
            {
                QuestManager.UnlockQuest <RaidingTheStars>(true);
                QuestManager.UnlockQuest <SongOfIceAndFire>(true);
                QuestManager.UnlockQuest <StrangeSeas>(true);
            }
            OnNPCLoot?.Invoke(npc);
        }