Класс ModNPC

Базовый класс для создания пользовательских NPC, врагов и боссов.

Обзор

Класс ModNPC позволяет создавать пользовательских неигровых персонажей, включая дружелюбных NPC, врагов и боссов с настраиваемым ИИ-поведением. Он основан на концепциях из ModItem, поэтому сначала ознакомьтесь с ним, если вы новичок в разработке для tModLoader.

Пример простого врага

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;
        }
    }
}

Создание босса

Боссы требуют более сложной настройки с пользовательским ИИ:

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
    }
}

Руководство по свойствам NPC

aiStyle

Встроенные шаблоны ИИ:

  • • Fighter (как зомби)
  • • Flying (как летучая мышь)
  • • Worm (сегментированный)
  • • Custom (собственный)

boss

Отметить NPC как босса:

  • • Показывает полоску здоровья
  • • Предотвращает исчезновение
  • • Играет музыку босса
  • • Особые эффекты смерти

Узнать больше

Полная документация ModNPC с примерами ИИ:

Полная документация ModNPC

Полная документация ModNPC:

Просмотреть полную документацию