Clase ModNPC
Clase base para crear NPCs personalizados, enemigos y jefes.
Descripción General
La clase ModNPC te permite crear personajes no jugadores personalizados, incluyendo NPCs amigables, enemigos y jefes con comportamientos de IA personalizados. Esto se basa en conceptos de ModItem, así que revisa eso primero si eres nuevo en el desarrollo con tModLoader.
Ejemplo de Enemigo Básico
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace YourMod.NPCs
{
public class ExampleEnemy : ModNPC
{
public override void SetStaticDefaults()
{
Main.npcFrameCount[Type] = 6; // Number of animation frames
}
public override void SetDefaults()
{
NPC.width = 40;
NPC.height = 40;
NPC.damage = 20;
NPC.defense = 10;
NPC.lifeMax = 100;
NPC.HitSound = SoundID.NPCHit1;
NPC.DeathSound = SoundID.NPCDeath1;
NPC.value = 100f; // Money dropped
NPC.knockBackResist = 0.5f;
NPC.aiStyle = NPCAIStyleID.Fighter; // Zombie-like AI
}
public override float SpawnChance(NPCSpawnInfo spawnInfo)
{
return SpawnCondition.OverworldNightMonster.Chance * 0.1f;
}
}
}
Crear un Jefe
Los jefes requieren una configuración más compleja con IA personalizada:
public class ExampleBoss : ModNPC
{
public override void SetStaticDefaults()
{
Main.npcFrameCount[Type] = 4;
NPCID.Sets.BossBestiaryPriority.Add(Type);
}
public override void SetDefaults()
{
NPC.width = 100;
NPC.height = 100;
NPC.damage = 40;
NPC.defense = 15;
NPC.lifeMax = 5000;
NPC.boss = true; // Mark as boss
NPC.npcSlots = 10f;
NPC.value = Item.buyPrice(gold: 5);
NPC.knockBackResist = 0f; // Immune to knockback
NPC.noGravity = true; // Flies
NPC.noTileCollide = true;
Music = MusicID.Boss1;
}
public override void AI()
{
// Custom AI code here
}
}
Guía de Propiedades de NPC
aiStyle
Patrones de IA integrados:
- • Fighter (tipo zombi)
- • Flying (tipo murciélago)
- • Worm (segmentado)
- • Custom (personalizado)
boss
Marcar NPC como jefe:
- • Muestra barra de vida
- • Previene desaparición
- • Reproduce música de jefe
- • Efectos de muerte especiales
Aprende Más
Para documentación completa de ModNPC con ejemplos de IA:
Ver Documentación Completa de ModNPCPara documentación completa de ModNPC:
Ver Documentación Completa