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 ModNPC

Pour la documentation complète de ModNPC :

Voir la Documentation Complète