Your CanSpawn is only returning IF Main.bloodmoon is true, but it won't return anything if it is false. hence the error.Can anyone help me when I try to get my npc to spawn on a blood moon I got this error
c:\Users\Julian Romero\Documents\My Games\Terraria\ModLoader\Mod Sources\EpicnessMod\NPCs\BloodySlime.cs(38,24) : error CS0161: 'EpicnessMod.NPCs.BloodySlime.CanSpawn(Terraria.ModLoader.NPCSpawnInfo)': not all code paths return a value
Here is the npc's code
Code:using System; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Terraria; using Terraria.ID; using Terraria.ModLoader; namespace EpicnessMod.NPCs { public class BloodySlime : ModNPC { public override void SetDefaults() { npc.name = "Bloody Slime"; npc.lifeMax = 55; npc.damage = 40; npc.defense = 45; npc.knockBackResist = 0.1f; npc.width = 36; npc.height = 24; animationType = NPCID.MotherSlime; npc.aiStyle = 1; npc.npcSlots = 1f; npc.noGravity = false; npc.soundHit = 1; npc.soundKilled = 6; Main.npcFrameCount[npc.type] = 2; npc.value = Item.buyPrice(0, 0, 30, 5); npc.buffImmune[BuffID.Poisoned] = true; npc.buffImmune[BuffID.Venom] = true; banner = npc.type; bannerItem = mod.ItemType("BloodySlimeBanner"); } public override void NPCLoot() { Item.NewItem((int)npc.position.X, (int)npc.position.Y, npc.width, npc.height, mod.ItemType ("BloodGel")); } public override float CanSpawn(NPCSpawnInfo spawnInfo) { if (Main.bloodMoon) { return 1f; } } } }
Make it an if else statement.