ModNPCクラス
カスタムNPC、敵、ボスを作成するための基底クラスです。
概要
ModNPCクラスを使用すると、友好的なNPC、敵、カスタムAI動作を持つボスなど、カスタム非プレイヤーキャラクターを作成できます。これは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;
}
}
}
ボスの作成
ボスにはカスタムAIを使ったより複雑な設定が必要です:
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
組み込みAIパターン:
- • Fighter(ゾンビ型)
- • Flying(コウモリ型)
- • Worm(分節型)
- • Custom(独自AI)
boss
NPCをボスとして設定:
- • 体力バーを表示
- • デスポーンを防止
- • ボス音楽を再生
- • 特殊な死亡エフェクト
ModNPCの完全なドキュメント:
完全なドキュメントを見る