Classe ModNPC
Classe de base pour créer des PNJ, ennemis et boss personnalisés.
Aperçu
La classe ModNPC vous permet de créer des personnages non-joueurs personnalisés, y compris des PNJ amicaux, des ennemis et des boss avec des comportements d'IA personnalisés. Cela s'appuie sur les concepts de ModItem, alors consultez-le d'abord si vous débutez dans le développement tModLoader.
Exemple d'Ennemi Basique
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;
}
}
}
Créer un Boss
Les boss nécessitent une configuration plus complexe avec une IA personnalisée :
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
}
}
Guide des Propriétés NPC
aiStyle
Modèles d'IA intégrés :
- • Fighter (type zombie)
- • Flying (type chauve-souris)
- • Worm (segmenté)
- • Custom (créez le vôtre)
boss
Marquer le PNJ comme boss :
- • Affiche la barre de vie
- • Empêche la disparition
- • Musique de boss jouée
- • Effets de mort spéciaux
En Savoir Plus
Pour la documentation complète de ModNPC avec des exemples d'IA :
Voir la Documentation Complète de ModNPCPour la documentation complète de ModNPC :
Voir la Documentation Complète